DINO NET

SOLID - 2. Open-Closed Principle (개방 폐쇄 원칙) 본문

program()/파이썬

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

2023. 2. 15. 17:17

개방 폐쇄 원칙 Open-Closed Principle

클래스는 확장에 열려 있어야 하며, 수정에는 닫혀 있어야 한다. -> 어떤 클래스의 코드를 수정하지 않아도 기존 기능을 확장할 수 있어야 한다. 

기존에 작성 되어 있는 코드들을 수정하지 않고 다른 코드들을 추가하여 기능의 확장만 하라는 뜻!

-> 다형성(Polymorpism)을 이용하면 개방 폐쇄 원칙을 쉽게 지킬 수가 있다.

 

추상 클래스

여러 클래스들의 공통점을 추상화해서 모아놓은 클래스

확장 O -> 추상 클래스를 상속 받는 클래스들은 계속해서 추가가 가능

수정 X -> 추상 메소드는 상속 받는 클래스가 오버라이딩 하면 되므로 추상 클래스를 직접적으로 건들일 필요가 없음

 

개방 폐쇄 원칙 > isinstance 사용
개발의 편의성 up
코드의 유지 보수성 up
새로운 클래스 생성 때마다 수정을 거듭해야함
코드의 길이가 불필요하게 늘어나고 중복 또한 늘어남

 

 

0215