@bglbgl gwyng 저는 반대로 상속을 빼놓고도 객체지향을 이야기할 수 있고, 더 나아가서는 응당 그래야 한다고 생각합니다. 상속은 객체지향 프로그래밍을 추구하는 프로그래밍 언어들이 자주 채택한 구현 기법 그 이상 그 이하도 아니지요. 중요한 것은 복잡계를 객체로 모델링하고, 또 그 복잡계를 적절히 조합해 복잡도를 제어하는 일입니다. 객체지향은 객체와 그것들의 협력에 대한 이야기가 되어야 하지 그 외에 어떤 구현 디테일에 대한 이야기가 되어서는 안 된다고 생각해요.
@bglbgl gwyng 조영호님의 <오브젝트>를 강하게 추천드려요.
If you have a fediverse account, you can reply to this note from your own instance. Search https://hackers.pub/ap/notes/0196aee8-ba20-7e24-b7f7-f63cae34b374 on your instance and reply to it.
@domatdo도막도 좋은 책 추천 감사합니다! 그런데 제가 의심하는게 사실 '객체와 그것들의 협력에 대한 이야기' 요 부분입니다. 가령 Java와 같은 객체지향 패러다임의 언어 프로그래밍 언어가 실제로 객체들의 협력을 위해 언어적으로 어떤 기능을 지원하나요? 저는 그런 기능이 딱히 없다고보고, 그래서 1. Java는 객체지향 언어가 아니다 2. 객체지향 패러다임은 (실질적으로) 그 문제와 별로 관련이 없다. 두 결론 중 하나를 택해야 한다고 생각합니다.