클린코드 2장부터 전반적으로 객체지향의 설계 원칙인 SOLID 에 대한 내용이 언급됩니다.

객체지향이 무엇이고 어떻게 탄생하게 되었는지 간단하게 알아보고

객체지향의 원칙인 SOLID 원칙에 대해 알아봅니다.


객체지향이란?

프로그래밍 방법론 중 하나이다.

프로그램을 제작하는데에서 필요한 언어들의 특성 중 하나다.

탄생배경

객체지향은 서양 철학과 연관있다.

int a;
정수 / a

int 는 정수라는 개념이다.

a 는 정수에 해당되는 실체이다.

플라톤은 이데아(이상)라는 개념적인 것에 대해 중요하게 생각했고, 아리스토텔레스는 개념이라는 것 보다는 구현을 더 중요시 했다. ⇒ 이러한 개념과 구현의 분리는 객체지향의 큰 특징 중 하나이며, 서양철학이 객체지향의 철학이 기초가 되었다고 볼 수 있다.

객체지향 프로그램은 어떤 대상에 대해 추상적인 개념을 설계하고 실체로 구현하게 된다.

여기서 추상&개념 = abstract class 가 되고, 실체는 구현체(Implmentation)가 된다.