(OOP) 객체지향에 대해서(1) - 객체, 행동, 상태
2020. 2. 19. 01:08
객체지향에 대해서 대부분의 사람들은 이와 같이 생각한다. "객체지향이란 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임" 과연 정말 실세계를 반영한 것일까? 예를 들자면 커피를 마시는 행위를 예로 들자 현실세계에서는 커피를 마셔 커피의 양을 줄여주는 주체는 마시는 사람이다. 객체지향의 세계에서는 커피 자체가 자신의 양을 조절한다. 단순하게 말하자면 현실세계에서는 주체적으로 행동할 수 없었던 사물이 객체지향의 세계에서는 마치 사람인 것처럼 행동하는 것이다. 나는 이를 의인화라고 말하고 싶다. "어떤 객체도 섬이 아니다"라는 워드 커닝 헴과 켄트 벡 이렇게 의인화된 객체들은 서로 분리되어 행동하지 않고 서로서로 도움을 요청하면서 행동을 한다. 이를 협력이라고 부르며 도움을 요청하는 행위를 메시지를 ..