Study/객체지향

[오브젝트] 2장 객체지향 프로그래밍

꾹꾹이 2023. 11. 14.
728x90

개인 학습용 글입니다.

 


객체지향 프로그래밍의 조건

  1. 어떤 클래스가 필요한지를 고민하기 전에 어떤 객체들이 필요한지를 고민하라.
  2. 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 보라. 객체는 다른 객체에게 도움을 주거나 의존하면서 살아가는 협력적인 존재다. 객체를 협력하는 공동체의 일원으로 보는 것은 설계를 유연하고 확장 가능하게 만든다.

 

클래스를 구현하거나 다른 개발자에 의해 개발된 클래스를 사용할 때 가장 중요한 것은 클래스의 경계를 구분 짓는 것이다.

 

클래스의 내부와 외부를 구분해야 하는 이유 : 경계의 명확성이 객체의 자율성을 보장한다. 프로그래머에게 구현의 자유를 제공한다.

객체 내부에 대한 접근을 통제하는 이유 : 객체를 자율적 존재로 만들기 위함. 객체가 자율적인 존재가 되기 위해서는 외부의 간섭을 최소화해야 한다. 외부에서는 객체가 어떤 상태에 놓여 있는지, 어떤 생각을 하고 있는지 알아서는 안 되며, 결정에 직접적으로 개입하려고 해서도 안 된다. 객체가 스스로 최선을 방법을 결정하고, 이를 믿고 기다려야 한다.

 

금액을 구현하기 위한 타입을 Long -> Money로 변경 : 의미를 명시적이고 분명하게 표현 가능. 전체적인 설계의 명확성과 유연성을 높여줌

 

 

 


키워드

  • 캡슐화
  • 접근 제어(access control)
  • 접근 수정자(access modifier)
  • 퍼블릭 인터페이스(public interface)
  • 구현(implementation)

 

 

설계가 필요한 이유 : 변경을 관리하기 위해 !

'Study > 객체지향' 카테고리의 다른 글

[오브젝트] 1장 객체, 설계  (0) 2023.10.11

댓글