팩토리 메소드(Factory Method)패턴
구체적으로 어떤 인스턴스를 만들지는 서브 클래스가 정한다.
다양한 구현체(Product)가 있고, 그 중에서 특정한 구현체를 만들 수 있는 다양한 팩토리(Creator)를 제공
장점
확장에 열려있고 변경에 닫혀있는 객체 지향 원칙
단점
클래스가 많아짐
확장에 열려있고 변경에 닫혀있는 객체 지향원칙이란?
변경에 닫혀있다 : 기존 코드를 변경하지 않는다.
default메소드란?
자바8에 들어간 인터페이스를 기본적인 구현체를 만들 수 있다.
실무에 사용되는 곳
단순한 팩토리 패턴
매개변수의 값에 따라 또는 메소드에 따라 각기 다른 인스턴스를 리턴하는 단순한 버전의 팩토리 패턴
java.lang.Calendar 또는 java.lang.NumberFormat
스프링 BeanFactory