2장 객체 생성과 파괴
아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라
예시) static을 통한 from 메서드를 통해 StudentDto를 생성하는 코드이다.
public StudentDto(User student) {
this.studentId = student.getId();
this.studentName = student.getName();
}
public static StudentDto from(User student) {
return new StudentDto(student);
}
사용방법은 다음과 같다.
StudentDto studentDto = StudentDto.from(student);
정적 팩터리 메서드를 적용하면
1. 메서드 이름을 통해 클래스 생성이 가능하다.
정해진 네이밍 규칙에 의해 사용 방법을 명확히 할 수 있다. 협업에 유용하다.
2. 호출할 때마다 인스턴스를 새로 생성하지 않아도 된다.
미리 만들어 놓거나 새로 생성한 인스턴스를 캐싱하여 재활용이 가능하다.
3. 코드 가독성, 유지보수성이 향상된다.
정적 팩토리 메서드 네이밍 규칙
from : 하나의 매개 변수를 받아서 객체를 생성
참고:
댓글