자바 객체 지향의 원리 SOLID - OCP : 개방 폐쇄 원칙
OCP - 개방 폐쇄 원칙 "소프트위어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀 있어야 한다. - 로버트 C 마틴" 변경을 위한 비용은 가능한 줄이고 확장을 위한 비용은 가능한 극대화 해야 한다는 의미로, 요구사항의 변경이나 추가사항이 발생하더라도, 기존 구성요소는 수정이 일어나지 말아야 하며, 기존 구성요소를 쉽게 확장해서 재사용할 수 있어야 한다는 뜻이다. 아래 예제를 보면 SoundPlay와 SoundFile이 있다. 그리고 파일을 재생하면 되는데 요구사항으로 파일의 종류가 mp3일 수도 있고, wav파일 경우 play()가 달라진다. 어떻게 수정을 해야 할까 ? 12345678910111213141516171819202122232425262728..