<aside> 📚 • 2장에서 객체지향에 대한 기본적인 내용을 살펴보았다면 3장은 SOLID 같은 고전적인 설계 원칙 몇 가지를 소개한다. • 설계 원칙을 이해하는 것도 중요하지만 실제 프로젝트에서 사용하는 방법을 정확하게 알고 있어야 한다. • CH3 에서는 각 설계 원칙의 정의와 의도, 사용하는 방법을 알아보자.

</aside>

<aside> 💡 • 설계 원칙을 배울 때, 정의를 이해하는 것보다 훨씬 중요한 것은 왜 그 원칙이 생겨날 수 밖에 없었는지를 생각하여 목적을 파악하는 것이다. • 그래야만 설계 원칙을 적절하고 유연하게 적용할 수 있게 된다.

</aside>

3.1 단일 책임 원칙

단일 책임 원칙의 정의 및 해석

클래스에 단일 책임이 있는지 판단하는 방법

3.2 개방 폐쇄 원칙

확장할 때는 개방, 수정할 때는 폐쇄

코드를 수정하는 것은 개방 폐쇄 원칙을 위반하는 것일까?

확장할때는 개방, 수정할 때는 폐쇄를 달성하는 방법