User user = new User("dbkim", 25, "female");
1. 필요한 데이터만 설정할 수 있음
private Stirng name
private int age
// age 생략
User user = User.builder().name("dbkim").build()
2. 유연성을 확보할 수 있음
새로운 필드가 추가돼도 기존 코드를 수정할 필요가 없음
// 생성자의 ASIS
new User("dbkim", 25)
// 생성자의 TOBE
new User("dbkim", 25, "female")
3. 불변성을 확보할 수 있음
@RequiredArgsConstructor
@Builder
public class User{
private final String name;
private final int age;
}
User user2 = user1.toBuilder().name("SweetRain").build();
스코프(Scope)란?
변수에 접근할 수 있는 범위
각 워크스페이스에서만 적용되고, 여러 개를 생성할 수 있음