OOP 설계 5원칙

OOP 기반의 소프트웨어를 설계하는데 지켜야 하는 OOP 설계 원칙에 대한 내용이고, 5개가 있다.

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

– 한 객체는 한 가지 책임을 가져야 한다는 원칙이다. 이 원칙은 응집도를 높이고, 결합도를 낮추게 한다.

2. 의존 관계 역전의 법칙(DIP : Dependency Inversion Principle)

– 클라이언트는 상세 클래스가 아닌 추상화(인터페이스, 추상클래스) 레이어에 의존해야 한다는 원칙이다. 확장 이슈가 있는 부분(공통된 특성 및 기능)은 추상화를 해야 한다는 것이다.

3. 인터페이스 분리의 원칙(ISP : Interface Segregation Principle)

– 클라이언트에 특화된 여러개의 인터페이스가 하나의 범용 인터페이스보다 좋다는 것이다.

4. 리스코프 대체 원칙(LSP : Liskov Substitution Principle)

– 상위 클래스는 파생클래스로 대체 가능해야 되는 원칙이다. 그래서, 상위 클래스의 기능은 파생클래스가 포함해야 한다는 것이다. 따라서, 파생클래스는 상위클래스보다 더 많은 기능을 제공한다. 아래의 lsp.doc 파일은 전에 스터디를 하면서, C#으로 만들어 본 예제이다.

lsp.doc

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

– 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다는 원칙이다. 이 원칙은 기존 클래스를 수정하지 말고, 상속이나 구현으로 기능을 확장해야 한다는 것이다.

OOP 설계 5원칙”에 대한 2개의 생각

  1. 찡구

    안녕하세요. 좋은 자료 담아갈께요 ^^!~ 제 블로그에 출처 밝히고 포스팅해가겠습니다 ~!! 원치 않으시면 제 블로그글에 댓글달아주세요~~~

    응답

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.