함수와 로직 중심 작성
데이터를 순차적으로 처리
특징

한계
복잡성 증가
→ 프로그램 규모가 커질수록 데이터와 함수 관리가 어려움
→ 전역 변수의 증가로 인해 관리가 어려워짐
유지보수 문제
→ 코드 수정 시 영향 범위 파악이 어려움

클래스 = 설계도 / 인스턴스 = 실제 물건
⇒ 자동차를 만들기 위한 설계도가 있다고 생각해볼때, 설계도가 클래스이고 이 설계도 바탕으로 실제 조립된 자동차 한 대가 인스턴스임
같은 설계도를 써서 자동차마다 색깔이 다를 수 있듯이, 인스턴스는 서로 다른 속성을 가질 수 있음
특징
<aside> 💡
절차 지향과 객체 지향
⇒ 하지만 둘은 ‘vs’가 아님(대조되는 개념이 아님). 객체 지향의 기반이 절차 지향임.


</aside>
실제 존재하는 사물을 추상화한 것
‘속성’과 ‘동작’을 가짐
각 객체는 고유한 특성을 가짐
객체 예시

⇒ 가수는 클래스고, 객체 예시는 아이유 등등
객체를 만들기 위한 설계도
데이터(변수)와 기능(함수)을 함께 묶는 방법을 제공
→ 클래스를 정의한다는 것은 공통된 특성과 기능을 가진 틀을 만드는 것