전통적으로 클라이언트가 클래스의 인스턴스를 얻는 방법은 public 생성자이다. 하지만, 클래스는 생성자와 별도로 정적 팩토리 메서드(static factory method)를 제공할 수 있다. 정적 팩토리 메서드는 네이밍에서 알 수 있듯이 정적인 팩토리 메서드이다. 그렇다면 팩토리란 무엇일까? GoF 디자인 패턴 중 팩토리 메서드 패턴이 존재한다. 이는 인스턴스 생성을 위한 프레임워크와 실제 인스턴스를 생성하는 클래스를 분리할 때 사용하는 패턴이다. 여기서 유래가 되어 팩토리는 객체 생성의 역할을 분리하겠다는 의미가 담겨있다. 정리하자면 정적 팩토리 메서드는 객체 생성이란 관심사를 갖는 정적 메서드라고 해석할 수 있다. 글 제목에서 알 수 있듯이 생성자보다 정적 팩토리 메서드가 갖는 장점이 많다. 한 ..