1. OOP(Object Oriented Programming)
- 객체지향 프로그래밍에선 모든 데이터를 Object로 취급하기에, Object가 바로 프로그래밍의 중심이다라고 생각하면 됨!
- Object : 인식할 수 있는 사물로 설명할 수 있는 것을 말함
- Object **State(상태)**와 Behavior(행동) 을 구체화하는 형태의 프로그래밍이 바로 객체지향 프로그래밍임
- Object를 만들어 내기 위한 설계도 같은 개념을 Class라 함
2. Class
- Object를 정의하는 틀 or 설계도와 같은 의미로 사용됨
- 설계도인 Class를 여러 Object를 생성하여 사용할 수 있음
- Object State를 나타내는 **Field(필드)**와 Object의 **Behavior(행동)**을 나타내는 **Method(메소드)**로 구성됨
- Field는 Class에 포함된 Variable(변수)를 의미함
- Method는 특정 작업을 수행하기 위한 명령문의 집합이라 말할 수 있음
3. Instance
- Class를 사용하기 위해 해당 Class Type의 Object를 선언해야함
- Class로부터 Object를 선언하는 과정을 Class의 인스턴스화라 함 ⇒ ex) Student student = new Student();
- 선언된 해당 Class type의 Object를 Instance라 함
- 하나의 Class로부터 여러 개의 Instance를 생성 할 수 있음
- 생성된 Instance는 독립된 Memory 공간에 저장된 자신만의 Field를 가질 수 있음
- 해당 Classs의 모든 Method는 해당 Class에서 생성된 모든 Instance가 공유하게 됨
- ex) Class Example
- Car class : 설계도