객체지향 5원칙 : 2.OCP 개방폐쇄 원칙, "폐쇄와 확장"은 이렇게!
- 프로그래밍/개발새발
- 2019. 6. 21.
nothing in this world can take the place of persistence
(세상에 어떤것도 끈기를 대신할 수 없다.)
개방폐쇄 원칙 Open Close Principle
1)요점
- 확장에 대해서는 개방, 변경에 대해서는 폐쇄되어야 한다는 원칙
- 객체 기능의 확장을 허용하되, 스스로의 수정은 피해야한다는 의미
2)예시
게임 유닛이 만들어야해서, 유닛class의 공통사항을 생각해며 method와 field(맴버변수)를 만드는 중입니다.
메소드 중에 이동 메소드는 '위치'와 '속도'를 받아, 그 위치까지 길을 찾는 인공지능을 사용하여 이동하는 기능입니다.
그런데 특정 유닛은 이동할 때 다른 움직임이 되어야 한다고 할 때, 어떻게 해야 할 것인가?
이때, 이동메소드에서 움직임을 나타내는 부분을 움직임메소드로 분리하고, 구현을 하위클래스에 맡깁니다.
이러면 특정유닛클래스에서 움직임메소드만 재정의하면(확장), 유닛클래스를 수정할 필요가 없어집니다(폐쇄)
-참고할 키워드 : 인터페이스, 추상클래스
'프로그래밍 > 개발새발' 카테고리의 다른 글
객체지향 5원칙 : 4.인터페이스 분리의 원칙, 예시를 보며 이해하는 과정.. (0) | 2019.07.03 |
---|---|
객체지향 5원칙 : 3.리스코브 치환의 원칙, 적용방법!쉬운 예시! (0) | 2019.06.25 |
객체지향 5원칙 : 1.SRP 단일 책임 원칙 이렇게 쓰면 '안'된다! (0) | 2019.06.19 |
윈도우(내pc)에서 웹서버 APM 구축3 - mysql편 (0) | 2019.06.03 |
윈도우(내pc)에서 웹서버 APM 구축2 - Php편 (0) | 2019.05.31 |