-
1. 생성자 대신 정적 팩터리 메서드를 고려하라.백기선(인프런 강의)/이펙티브자바 2023. 6. 27. 16:07반응형
장단점
장점
- 이름을 가질 수 있다.
- 동일 한 시그니처의 생성자를 두개 가질 수 없다.
- 호출될 때마다 인스턴트를 새로 생성하지 않아도 된다.
- Boolean.valueOf
- 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다.
- 인터페이스 기반 프레임워크, 인터페이스에 정적 메소드
- 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다
- EnumSet
- 정적 팩터리 메소드를 작성하는 시점에는 반환할 객체의 클래스가 조회하지 않아도 된다.
- 사용자 제공자 프레임워크
단점
- 상속을 하려면 pulbic이나 proteted 생성하기 필요하니 정적 팩터리 메소드만 제공하면 하위 클래스를 만들 수 없다.
- 정적 팩터리 메소드는 프로그래머가 찾기 어렵다.
열거 타입
- 상수 목록을 담을 수 있는 데이터 타입
- 특정한 변수가 가질 수 있는 값을 제한한다
- 타입-세이프티(Type-Safety)를 보장할 수 있다
- 싱글톤 패턴을 구현할 때 사용
반응형'백기선(인프런 강의) > 이펙티브자바' 카테고리의 다른 글
4. 인스턴스화를 막으려거든 private 생성자를 사용하라 (0) 2023.07.03 3. 생성자나 열거 타입으로 싱글턴임을 보증하라. (0) 2023.07.02 2. 생성자에 매개변수가 많다면 빌더를 고려하라 (0) 2023.06.28