(2-2) SOLID(객체 지향 설계): 개방 폐쇄 원칙(OCP)
개방 폐쇄 원칙(OCP) 개방 폐쇄 원칙은 자신의 확장에는 열려 있고, 주변의 변경에 대해서는 닫혀 있어야 한다는 뜻이다. 상위 클래스 또는 인터페이스를 중간에 둠으로써 자신은 변화에 대해서는 폐쇄적이지만, 인터페이스는 외부의 변화에 대해서 확장을 개방해 줄 수 있다. JDBC 와 Mybatis, Hibernate 등 JAVA 에서는 Stream(Input, Out) 에서 확인할 수 있다. 확장이란? 새로운 타입을 추가함으로써 새로운 기능을 추가할 수 있다. 즉, 확장이란 새로운 타입을 추가함으로써 새로운 기능을 구현한다. 확장에는 열려 있다는 것은 새로운 타입(클래스) 을 추가함으로써 기능을 확장하는 것이다. 변경이란? 확장이 발생했을 때 상위 레벨이 영향을 받지 않아야 한다. 확장(새로운 클래스) 이..