<aside>
💡
목차
</aside>
<aside>
💡 프로그램을 객체들의 집합으로 보는 패러다임(구조)
각 객체들은 서로 메시지를 전달하며 상호 작용
</aside>
1. 객체
- 상태와 행동을 가지는 모든 것
- 상태는 속성(attribute), 행동은 메서드(method)로 표현
2. '객체 지향 프로그래밍'의 주요 개념
2-1) 클래스(Class)와 객체(Object)
클래스
- 공통적 성질을 가진 대상들을 정의한 것
- 데이터(속성)와 메서드(행동, 동작)을 포함
- ex) (요리) 레시피
필요한 재료(데이터, 속성)와 조리방법(메서드, 동작) 포함
객체
- 클래스에 의해서(정의된 대로) 생성된 실체(데이터)
- 클래스에 의해 생성되어 클래스에서 정의한 행동을 수행 가능
- ex) 요리된 팬케이크
레시피를 바탕으로 실제로 완성된 팬케이크, 실제로 존재
2-2) 캡슐화
- 객체의 속성과 행동(메서드)을 하나로 묶는 것
- 외부에서 직접 접근 X, 대신 메서드(행동)를 통해서만 접근 가능