JPA @Builder

아이스__아메리·2022년 11월 11일
0

JPA

목록 보기
12/18

빌더 패턴(Builder pattern)
생성자를 통해 객체를 생성하는데 몇 가지 단점이 있어 객체를 생성하는 별도 builder를 두는 방법이 있다. 이를 빌더 패턴이라고 한다.

객체를 생성할 수 있는 빌더를 builder() 함수를 통해 얻고 거기에 셋팅하고자 하는 값을 셋팅하고 마지막에 build()를 통해 빌더를 작동 시켜 객체를 생성한다.

빌더를 써야하는 이유

  1. 생성자 파라미터가 많을 경우 가독성이 좋지 않다
  • 빌더 패턴으로 구현하면 각 값들은 빌더의 각 값들의 이름 함수로 셋팅이 되dj 각각 무슨 값을 의미하는지 파악하기 쉽다.

  • 생성자로 설정해야하는 값이 많을 경우 빌더를 쓰는 것이 생성자보다 가독성이 좋다.

  • 같은 타입의 다른 변수의 값을 서로 바꿔 넣는 것을 방지할 수도 있다

Bag bag = Bag.builder()
		.name("name")
        	.money(1000)
        	.memo("memo")
            	.letter("This is the letter")
            	.box("This is the box")
        	.build();
  1. 어떤 값을 먼저 설정하던 상관 없다
  • 생성자의 경우는 정해진 파라미터 순서대로 꼭 값을 넣어줘야한다. 순서를 무시하고 값을 넣으면 에러가 발생하거나 엉뚱한데 값이 들어갈 수 있다.
    하지만 빌더 패턴은 빌더의 필드 이름으로 값을 설정하기 때문에 순서에 종속적이지 않다.
    그냥 쓰이는 곳에서 어떤 필드를 먼저 설정해야하는지 굳이 순서를 생각할 필요 없이 편하게 설정하면 된다.

사용법

빌더 패턴을 적용할 객체에 @Builder 어노테이션을 달기만 하면 된다.

@Builder
public class Bag {
	private String name;
        private int money;
        private STring memo;
}

어노테이션만 달면 빌더가 생기고 위에 썼던 것과 같이 빌더를 통해 객체를 생성할 수 있다.

profile
츠케멘 좋아

0개의 댓글