가독성이 좋고, 효율적(싱글톤)인 프로그래밍을 할 수가 있다.
from
: 매개변수 하나로 인스턴스 생성하는 메소드of
: 매개변수 여러개를 받아 적절한 인스턴스 타입을 반환하는 메소드getInstance
| instance
: 인스턴스 생성newInstance
| create
: 새로운 인스턴스 생성get[]
: 다른 타입의 인스턴스 생성new[]
: 다른 타입의 새로운 인스턴스 생성Optional은 자바8에서 추가되었다. Optional은 new 대신 of()
메소드로 객체를 만들 수 있도록 설계가 되어있다.
글 잘 읽었습니다!
혹시나.. 제가 잘 모르고있는걸 수도 있지만 내용에 조금 문의가있어서 댓글 남깁니다.
정적팩토리 메서드를 쓴다 -> 무조건 싱글톤 객체만 생성한다 는 아닌걸로 알고있습니다.
싱글톤 객체를 생성시 싱글톤을 유지하기위한 내부 로직(duplicate check), 혹은 무분별한 객체생성을 제한하기위한 생성자 private 처리를 하게될때 유용하게 생성자의 대용역할을 할 수 있는것이 정적 팩토리 메서드이며, 이때문에 자주 사용되곤 하지만
얼마든지 싱글톤 객체가 아닌 객체를 생성할 때도 쓸 수 있습니다.
본문에 남겨주었던 상속과 관련된 부분에서는 정적 팩토리 메서드의 문제가 아닌
위에 설명드린 싱글톤 객체생성을 위해 private 생성자만을 사용할때 -> 이 private 접근제한자 때문에, 자바에서 상속을 하지 못 하는걸로 저는 평소에 알고있었습니다.
혹시 제가 잘 못 이해하고 있었던 점 있으면 얼마든지 피드백 감사드립니다!