코드분석중 질문드립니다.

24.05.01 23:45 작성 조회수 34

0

@Entity
@Getter @Setter
public class Member {

    @Id @GeneratedValue
    @Column(name = "member_id")
    private Long id;

    private String name;

    @Embedded
    private Address address;

    @OneToMany(mappedBy = "member")
    private List<Order> orders = new ArrayList<>();

}

 

@Embeddable
@Getter
public class Address {

    private String city;
    private String street;
    private String zipcode;


    protected Address() {
    }
    public Address(String city, String street, String zipcode) {
        this.city = city;
        this.street = street;
        this.zipcode = zipcode;
    }

}

 

 

위 코드에서, Adress 클래스의 멤버변수의 값은 언제 초기화되나요? 생성자가 호출되려면, 객체 인스턴스가 생성되어야 하는데, Address 인스턴스 객체가 생성될 일이 있나요?

감사합니다.

답변 1

답변을 작성해보세요.

0

David님의 프로필

David

2024.05.02

안녕하세요. whdk333님, 공식 서포터즈 David입니다.

아래 코드도 Address의 (파라미터를 가지는) 생성자 중 하나입니다.

아래 생성자를 통해 Address를 생성합니다.

public Address(String city, String street, String zipcode) {
        this.city = city;
        this.street = street;
        this.zipcode = zipcode;
}

이와 관련된 자세한 내용은 김영한의 실전 자바 - 기본편 섹션 4 - 생성자를 참고해 주세요.

감사합니다.