객체지향의 사실과 오해 - 책임과 메시지

Groot·2022년 11월 23일
0

TIL

목록 보기
102/153
post-thumbnail
post-custom-banner

TIL

🌱 난 오늘 무엇을 공부했을까?

📌 객체지향의 사실과 오해 - 책임과 메시지

📍 자율적인 책임

  • 다른 객체로부터의 요청을 처리하기 위해 수행하는 행동이 책임이다.
  • 이 책임을 객체 스스로의 의지와 판단에 따라 각자 맡은 책임을 수행하는 객체가 자율적인 객체
  • 어떻게가 아니라 무엇을 해야 하는가를 설명

📍 메시지

  • 다른 객체에 접근할 수 있도록 해주는 것
  • 어떤 메시지를 전송하느냐에 따라 책임이 결정된다.
  • 외부로 부터 받은 메시지를 처리하기 위해 내부적으로 선택하는 방법을 메서드라고한다.
  • 송신자와 수신자 사이의 결합도를 낮춤으로써 설계를 유연하고, 확장 가능하고, 재사용 가능하게 만든다.
  • 메시지 중심으로 협력을 설계하면, 메시지가 객체를 선택할 수 있다.
  • 수신 가능한 메시지가 모여 인터페이스를 구성한다.

🔗 다형성

  • 동일한 메시지를 처리하는 방법이 수신자의 종류에 따라 달라질 수 있는 성질
  • 서로 다른 객체들이 다형성을 만족시킨다는 것은 객체들이 동일한 책임을 공유한다는 것을 의미한다.
  • 객체들의 대체 가능성을 이용해 설계를 유연하고 재사용 가능하게 만든다.
  • 다형성을 사용하면 송신자가 수신자의 종류를 모스는 상태에서도 메시지를 전송할 수 있다. 즉, 수신자의 종류를 캡슐화 한다.

📍 인터페이스

  • 객체가 수신할 수 있는 메시지의 목록으로 구성되며 객체가 어떤 메시지를 수신할 수 있는지가 객체가 제공하는 인터페이스의 모양을 빚는다.
  • 외부에서 접근이 가능한 공개된 인터페이스를 공용 인터페이스라고함.

📍 구현과 인터페이스의 분리

  • 구현은 내부 구조와 작동방식, 객체를 구성하지만, 공용 인터페이스에 포함되지 않는 모든 것.
  • 훌륭한 객체는 인터페이스와 구현의 분리가 잘 되어있는 것.

🔗 캡슐화

  • 객체의 자율성을 보존하기 위해 구현을 외부로부터 감추는 것.

📍 결론

  • 책임이 자율적일수록 적절하게 추상화되며, 응집도가 높아지고, 결합도가 낮아지며, 캡슐화가 증진되고, 인터페이스와 구현이 명확이 분리되며, 설계의 유연성과 재사용성이 향상된다.
profile
I Am Groot
post-custom-banner

0개의 댓글