객체지향 프로그래밍의 현실세계 예시 (클래스, 객체, 캡슐화, 추상화, 상속, 다형성)
Class (속성과 기능)와 Object 클래스는 형태, 넓이, 높이와 같은 속성과 온오프 스위치, 볼륨스위치, 채널버튼 등이다. 객체와 클래스의 다른 점은, 객체는 클래스의 직접적인 instance이다. TV의 속성과 기능을 가진 다양한 종류의 TV를 만드는 것은 객체가 된다. 이를 생성자를 통해 만들 수 있다. 캡슐화 (Encapsulation) 과 추상화 캡슐화는 TV의 뒷면과 같이 커버를 씌우는 것과 같다. 기계를 보호하고, 잘못 동작하는 것을 방지하기 위함이다. 추상화는 캡슐화의 기능적 측면을 의미하는 것으로 이해할 수 있다. 사람들이 동작을 하도록 하는 interface만을 확인하고 원하는 기능을 수행하도록 하지만, 그 안의 실제 기능이 어떻게 돌아가는 지는 알 수 없도록 하는 것이다. 상속 ..