이전 글 https://sh1mj1-log.tistory.com/131 에서 객체 지향 프로그밍을 구성하는 다양한 요소와 구현 기법을 살펴보았습니다. 클래스, 추상 클래스, 인터페이스를 조합하여 객체지향 프로그램을 구조화하는 기본 방법 상속을 이용해 다형성을 구현하는 기법 다형성은 지연 바인딩을 통해 구현됨. 상속은 다형성을 위해 사용. 코드 재사용만 할 때는 캡슐화 측면에서 합성이 더 좋음. 유연한 객체 지향 프로그램을 위해서는 컴파일 타임 의존성과 런타임 의존성이 다름. 역할, 책임, 협력 객체지향의 본질은 역할(role), 책임(responsibility), 협력(collaboration) 입니다. 물론 클래스, 상속, 지연 바인딩이 중요하지만 이는 구현 방법일 뿐 본질은 아닙니다. 계속 반복하여 ..