728x90 디자인패턴3 Factory Method 팩토리 메서드 패턴 > 구체적으로 어떤 것을 만들지 서브 클래스에서 정의하는 패턴 > 확장에 열려있고 변경에 닫혀있는 Open-Close Principle 원칙을 적용 OCP > 확장에 열려있다 : 새로운 기능을 확장할 수 있다. > 변경에 닫혀있다 : 기존 코드를 변경하지 않는다. 장점 - 확장에 열려있고 변경에 닫혀있는 객체지향 원칙을 적용하여 기존 코드를 건드리지 않고 확장이 가능하다. - 기존 코드가 복잡해질 일이 없음 단점 - 클래스가 늘어남 ex) Calendar.getInsrance() BeanFactory 2022. 4. 25. 인터페이스 메서드 * default 메서드 > 인터페이스에 기본 구현체를 만들 수 있음 > 그 인터페이스를 구현하는 클래스, 상속받은 다른 인터페이스도 해당 기능을 사용할 수 있음 public interface SampleInterface { default public Sample setDefault(ID id) { //기능 구현이 가능 } } * static 메서드 > 모든 인스턴스가 공유할 수 있는 static메소드를 인터페이스에서 관리할 수 있음 public interface SampleInterface { static public String getName (ID id) { //기능 구현이 가능 } default public Sample setDefault(ID id) { return new Person(getNa.. 2022. 4. 2. Singleton 싱글톤 > 인스턴스를 오직 하나만 만들어 제공 > new 를 사용하지 않고 인스턴스를 생성해야함 > Runtime 등... ex) - double checked locking public class SingletonSample { private static volatile SingletonSample instance; private SingletonSample() {} //private로 생성자를 만드는 경우 밖에서 instance를 생성할 수 없음 public static SingletonSample getInstance(){ //해당 static 메서드를 사용해서 사용 가능 if(instance == null){ synchronized (SingletonSample.class){ if(instance.. 2022. 3. 26. 이전 1 다음 728x90