SOLID; 객체지향 설계의 5원칙

이 부분은 1회차 지만 신경써서 머릿속에 넣어본다. 실제로 설계하거나 구현 할 때 적절한 모델링(추상화)와 인터페이스의 분리에 신경쓸 필요가 있겠다. 그러나 SRP-ISP와 OCP-DIP 관계의 뉘앙스 차이는 아직 잘 모르겠다. 객체지향 설계의 5원칙 SRP; 단일 책임 원칙 OCP; 개방 폐쇄 원칙 LSP; 리스코프 치환 원칙 ISP; 인터페이스 분리 원칙 DIP; 의존 역전 원칙 아주 간단한 요약 1.... » read more

캡슐화와 데이터 은닉

캡슐화와 데이터 은닉 객체 사용에 해당되지 않는 세부 정보는 다른 모든 객체로부터 숨겨야 한다.캡슐화는 객체에 속성과 행위가 같이 포함된다는 사실로 정의된다. 데이터 은닉은 캡슐화의 중요한 일부이다. 예를들어, 어떤 숫자의 제곱을 계산하는 객체가 결과를 얻기 위한 인터페이스를 제공해야 한다고 하자. 그러나 요청하는 객체에서 제곱을 계산하기 위해 사용하는 내부 속성 및 알고리즘을 사용하게 할 필요는 없다. 캡슐화를... » read more

객체지향과 클래스

객체지향의 개념 클래스란 정확히 무엇인가? p.34 간단히 말해서 클래스는 객체에 대한 처사진이다 객체의 인스턴스를 만들 때 객체를 구성하는 기초로 클래스를 사용한다.클래스와 객체를 설명하려고 하는 일은 닭이 먼저냐 계란이 먼저냐 같은 딜레마이다. 객체란 용어를 사용하지 않고 클래스를 설명하기 어렵고 그 반대도 마찬가지이다. 예를 들어, 어느 개인의 자전거는 객체이다. 그러나 누군가 자전거를 만들기 위한 청사진 (즉, 클래스)을... » read more