본문 바로가기

Programming/Java

객체지향 프로그래밍의 현실세계 예시 (클래스, 객체, 캡슐화, 추상화, 상속, 다형성)

반응형

Class (속성과 기능)와 Object

클래스는 형태, 넓이, 높이와 같은 속성과 온오프 스위치, 볼륨스위치, 채널버튼 등이다. 객체와 클래스의 다른 점은, 객체는 클래스의 직접적인 instance이다.

 

TV의 속성과 기능을 가진 다양한 종류의 TV를 만드는 것은 객체가 된다. 이를 생성자를 통해 만들 수 있다.

 

 

 

 

캡슐화 (Encapsulation) 과 추상화

 

캡슐화는 TV의 뒷면과 같이 커버를 씌우는 것과 같다. 기계를 보호하고, 잘못 동작하는 것을 방지하기 위함이다. 

추상화는 캡슐화의 기능적 측면을 의미하는 것으로 이해할 수 있다. 사람들이 동작을 하도록 하는 interface만을 확인하고 원하는 기능을 수행하도록 하지만, 그 안의 실제 기능이 어떻게 돌아가는 지는 알 수 없도록 하는 것이다.

 

 

상속 (Inheritance)

 

상속이란 부모의 다양한 속성과 기능을 물려받아 확장하는 기능을 의미한다.

 

 

다형성

다형성은 TV의 On/OFF 버튼처럼, 하나의 버튼이 전원이 꺼져있을 때는 On버튼이 되고, 켜져있을 때는 Off로 작동하는 것이라고 할 수 있다.

반응형