Engineering Note

[OOP] 역할, 책임, 협력 그리고 캡슐화, 상속, 추상화 본문

Computer Science/OOP & Design Pattern

[OOP] 역할, 책임, 협력 그리고 캡슐화, 상속, 추상화

Software Engineer Kim 2025. 6. 19. 17:00

객체지향프로그래밍 에서 역할, 책임, 협력 그리고 캡슐화, 상속, 추상화의 관계

 

객체지향 프로그래밍은 길을 찾는 방법을 통해서 설명할 수 있다. 길을 찾을 때 길을 아는 사람에게 물어보는 방법이 있고, 지도를 보고 찾아가는 방법이 있다. 길을 아는 사람에게 물어보는 방법은 길찾기라는 기능 그 자체에 초점을 맞춘 해결책이라고 볼 수 있다. 그런데 지도는 현실 세계를 추상화한 모델로, 구조적으로 길을 찾는 방법을 알려준다. 그리고 원래 목적지와 다른 길을 찾는 범용적인 도구다.

 

객체지향 프로그래밍은 길을 찾는 방법에서 지도를 보고 길을 찾는 방법과 유사하다. 기능에 구조를 맞추는게 아니라, 구조에 기능을 종속시킨다. 이를 통해 얻을 수 있는 장점은 재사용가능하고, 변경에 용이한 코드를 작성할 수 있게 해준다. 각 객체를 역할과 책임을 가진 자율적이면서 협력적인 공동체를 이루는 관점으로 바라보면 가능하다.

 

이러한 역할, 책임, 협력으로 객체지향을 바라보는 관점은 철학적이고 추상적인 과점이고, 이를 현실적인 기술로 구현하는 방법이 캡슐화와 상속, 그리고 추상화다. 

 

 

 

 

참고 자료 : 객체지향의 사실과 오해 - 역할, 책임, 협력관점에서 본 객체지향(조영호 지음)

Comments