1. SRP(Single Responsibility Principle) - 단일 책임 원칙

객체 하나는 한가지 기능만을 담당해야한다.

만약 하나의 클래스에 음악듣기, 사진찍기, 게임하기 세가지 기능을 모두 구현했을 경우,

이 클래스의 목적과 기능이 불분명하고 수정사항이 빈번히 발생함으로써 구조가 난잡해지기 쉬워진다.

하나의 클래스에는 한가지 기능만.


2. OCP(Open Closed Principle) - 개방 폐쇄 원칙

객체는 확장에 대하여 개방적이고 수정에 대해서는 폐쇄적이어야한다.

자체 클래스는 수정은 적어야하고, 하위 클래스의 구현은 자유로워야 한다.


3. LSP(Liskov Substitution Principle) - 리스코프 치환 원칙

하위클래스는 항상 부모클래스를 대체할 수 있어야한다.

상속의 정의를 담은 원칙. 


4. ISP(Interface Segregation Principle) - 인터페이스 분리 원칙

사용하지 않는 메서드는 구현하지 않는다.

인터페이스는 충분히 작은 기능으로 나누어 하나의 메서드가 작동할때 다른 메서드의 영향을 받지 않도록 한다.


5. DIP(Dependency Inversion Principle) - 의존성 역전 원칙

구현된 객체는 구현되지 않은 추상 클래스나 인터페이스에 의존하면 안된다.

+ Recent posts