1. 객체 지향이란?
- 실제 사물을 프로그램으로 표현하기 위한 사고방식
1-1. 객체
- 사물이 가진 속성과 행위를 설정해 객체(object)를 만들 수 있습니다.
1-2. 캡슐화, encapsulation
- 외부에서 객체의 속성이나 행위를 호출하는 것을 제한
- 속성 값을 정해진 방법으로만 수정이 가능하게 하거나, 행위를 호출할 수 있는 곳을 제한
1-3. 상속, inheritance
- 이미 존재하는 클래스의 속성이나 행위를 물려받아 새롭게 정의
- 클래스 선언부에 final을 사용하면 그 클래스는 상속을 받을 수 없게됩니다.
class final Employee {...}
1-3-1. 상속의 장점
- 공통 부분을 다시 정의할 필요가 없다.
- 공통 부분이 변경되더라도 한 번에 수정할 수 있다.
1-4. 다형성, polymorphism
- 여러 객체의 공통된 속성과 행위를 추출해 하나의 객체로 만드는 것
- 다형성은 상속과 하나의 묶음으로 사용이 되는데, 다형성을 사용함으로써 공통된 속성과 행위를 가진 객체를 하나로 모아 사용할 수 있습니다.