객체지향프로그래밍(OOP) - 3. 책임, 위임, 협력 (feat. Java)
2021.02.01
개요 지금까지 자연스럽게 사용한 단어들이 있다. 책임, 위임 그리고 협력이 오늘 배울 주제이다. 객체지향적으로 생각하고 설계를 하기 위해서는 꼭 배워야할 중요한 개념이다. 책임 객체지향 설계원칙중에는 단일책임원칙(SRP)이 있다. 모든 클래스는 하나의 책임만 가져야한다. 또는 클래스를 변경하려는 이유는 하나여야 한다고도 한다. 필자가 학교에서 배울 때 이 책임이라는 말이 와닿지가 않았었다. 책임이 무엇이길래 하나만 가져야하고 클래스를 변경하려는 이유라는 말은 또 무엇인가? 책임은 클래스가 책임져야 할 능력이다. 카페의 바리스타를 예로 들어보자. 바리스타가 가져야 할 능력은 우선 커피를 만들 수 있어야 한다는 것이다. 또 커피에 대한 설명을 할 수 있어야 하고, 크기가 작은 카페라 서빙까지 해야한다고 해보..