본문 바로가기

728x90

객체지향

(3)
[클린 코드] 12장. 창발성 창발성 설계로 깔끔한 코드를 구현하자. 설계 규칙은 아래와 같이 4가지가 있다. (중요도 순) 모든 테스트를 실행한다. 중복을 없앤다. 프로그래머 의도를 표현한다. 클래스와 메서드 수를 최소로 줄인다. 1. 모든 테스트를 실행하라 테스트가 가능한 시스템을 만들려고 애쓰면 설계 품질이 높아진다. 즉, 테스트 케이스를 작성하면 설계 품질이 높아진다. 테스트 케이스를 만들고 계속 돌림으로써 낮은 결합도와 높은 응집력이라는 객체 지향 방법론 목표를 달성할 수 있다. 리팩토링 (2~4번 규칙) 테스트 케이스를 모두 작성했다면, 이제는 코드와 클래스를 정리할 수 있다. 테스트 케이스가 있기 때문에, 코드를 정리하면서 시스템이 깨질까 걱정할 필요가 없다. 2. 중복을 없애라 공통적인 코드를 새 메서드로 추출하여 중복..
객체지향 4대 특성 객체지향의 4대 특성에는 아래가 있습니다. 캡슐화: 정보 은닉 상속: 재사용 추상화: 모델링 다형성: 사용 편의 각각의 특성에 대해서 살펴보겠습니다. 추상화 - 모델링 OOP의 추상화는 모델링이라고 할 수 있습니다. 클래스 설계에서 추상화가 사용됩니다. 클래스 설계를 위해서는 애플리케이션 경계부터 정해야 합니다. 객체 지향에서 추상화의 결과는 클래스입니다. 추상화 = 모델링 = 자바의 class 키워드 상속 - 재사용 객체 지향의 상속은 상위 클래스의 특성을 재사용하는 것입니다. (부모-자식 관계가 X) 객체 지향의 상속은 상위 클래스의 특성을 확장하는 것입니다. 객체 지향의 상속은 is kind of 관계를 만족해야 합니다. (즉, 하위 클래스 is kind of 상위 클래스): 하위 클래스는 상위 클..
객체 지향 설계 5원칙 - SOLID SOLID란? 객체 지향 프로그래밍 및 설계의 5가지 기본 원칙을 두문자어로 나타낸 것입니다. 응집도는 높이고, 결합도는 낮추라는 고전 원칙 (High cohesion, Loose coupling)을 객체 지향 관점에서 재정립한 것입니다. SOLID는 아래의 5가지에 해당합니다. SRP (Single Responsibility Principle): 단일 책임 원칙 OCP (Open Closed Principle): 개방 폐쇄 원칙 LSP (Liskov Substitution Principle): 리스코프 치환 원칙 ISP (Interface Segregation Principle): 인터페이스 분리 원칙 DIP (Dependency Inversion Principle): 의존 역전 원칙 ※ 결합도와 응집..

728x90
반응형