7장. 함께 모으기

KIMA·2023년 3월 31일
1
post-thumbnail

객체지향 설계의 세 가지 관점

개념 관점

도메인 안에 존재하는 개념과 개념들사이의 관계

  • 프로그래머는 클래스가 은유하는 개념을 도메인 관점에서 반영한다.

🤔 도메인이란?
사용자들이 관심을 가지고 있는 특정 분야나 주제이다.

명세 관점

사용자의 영역인 도메인을 벗어나 개발자 영역인 SW안의 객체들의 책임이다.

  • 프로그래머는 객체가 협력을 위해 '무엇'을 할 수 있는가에 초점을 맞춘다. 즉, 구현이 아니라 인터페이스에 초점을 맞춘다.

구현 관점

객체들이 책임을 수행하는 데 필요한 동작하는 코드

  • 프로그래머는 객체의 책임을 '어떻게' 수행할 것인가에 초점을 맞춘다. 즉, 인터페이스를 구현하는 데 필요한 속성과 메서드를 클래스에 추가한다.

개념 관점, 명세, 관점, 구현 관점 순서대로 SW를 개발하라는 얘기가 아니다.
단지 동일한 클래스를 세 가지 다른 방향에서 바라보는 것을 의미한다.

Reference

  • 객체지향의 사실과 오해, 조영호 지음
profile
안녕하세요.

0개의 댓글