객체지향(2)
-
[객체지향코드] 캡슐화(Encapsulation)
캡슐화(Encapsulation) 객체 지향 코드를 얘기할 때 빠지지 않고 등장하는 용어중 하나입니다. 하지만 실무에서 많은 코드를 짜다보면 지나치기 쉬운 게 사실입니다. 책에서 두 가지 재밌는? 규칙을 설명해주고 있어서 소개해보려 합니다. 캡슐화 객체 지향 코드는 구현에 변경이 발생해도 다른 구현에 영향을 적게 준다는 장점이 있습니다. 캡슐화는 쉽게 설명해서 그런 객체 지향 코드의 장점을 살릴 수 있게끔 구현 변경에 유연함을 주는 방식입니다. 캡슐화를 위한 두 가지 규칙 Tell, Don't Ask 묻지말고 명령하라. 라는 첫 번째 규칙은 간단하게 말해 데이터를 가진 객체가 처리하도록 해라라는 얘기입니다. 예를 들어 age에 limit 기능을 두는 메서드가 있다면 데이터를 가진 객체에서 isAg..
2022.01.10 -
[패캠강의] 1장_객체지향의 설계
디자인 패턴에 대해 알아봅시다 디자인 패턴을 잘할 수 있는 방법? 경험, (삽질)이 디자인 설계를 실제로 늘 수 있게 도와줍니다. 설계를 여러번 실패하면서 코드를 짜봐야 알게됩니다. 객체지향설계 객체의 blue print가 클래스, 기능들이 메서드입니다. 추상화 어떤 영역에서 필요한 속성이나 기능을 추출하는 작업 인터페이스 객체를 클라이언트에 필요한 기능만 오픈할 수 있고 책임을 전달할 수 있는 매개? 필요한 기능만을 오픈한다는 건 객체지향의 캡슐화와 연관되어 있습니다. 상속성 일반적인 객체보다 구체적인 객체를 말합니다. 상위 클래스를 상속한 하위 클래스는 필수 기능들을 재정의 할수도 있습니다. 다형성 같은 코드가 다른 결과를 만들어 내는 메서드입니다. 응집도, 결합도 응집도가 높은 클래스는 단일 책임의..
2021.12.31