불변 객체 질문합니다.
ImmutableAddress에서 value를 final로 설정했는데
MemberV2에서 setAddress를 쓸 수 있는 건가요?
final로 선언하면 setter를 못 쓴다고 알고 있어서 질문합니다.
(불변 객체 - 값 변경 강의입니다.)
package immutable.address;
public class ImmutableAddress {
private final String value;
public ImmutableAddress(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return "Address{" +
"value='" + value + '\'' +
'}';
}
}
package immutable.address;
public class MemberV2 {
private String name;
private ImmutableAddress address;
public MemberV2(String name, ImmutableAddress address) {
this.name = name;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ImmutableAddress getAddress() {
return address;
}
public void setAddress(ImmutableAddress address) {
this.address = address;
}
@Override
public String toString() {
return "MemberV1{" +
"name='" + name + '\'' +
", address=" + address +
'}';
}
}
답변 1
0
안녕하세요. show_3_님, 공식 서포터즈 OMG입니다.
Member의
private ImmutableAddress address;의 경우
address는 final을 선언한 불변이 아니기 때문에 address 는 변경이 가능합니다 😀
(private final ImmutableAddress address;)
.
한번 정의된 주소는 변경이 불가능하지만, 사람이 갖는 주소는 변경이 가능하므로 해당 시나리오를 빗댄 예시입니다 😀
불변으로 지정한 대상이 주소라는 개념의 주소값 인지, 주소를 갖는 사람인지를 파악하여 이해하시면 될 것 같습니다 ^^
감사합니다.
예외처리 3강 문의
0
17
1
중급 과정 학습 중 복습과 진도 진행의 우선순위에 대해 질문드립니다
0
82
1
동일성 동등성
0
56
1
중급 1편 학습 방향에 대해 조언 부탁드립니다
0
83
1
김영한로드맵으로 백엔드개발자가 될 수 있나요?
0
205
2
문제와 풀이
0
72
1
섹션 2 퀴즈 9번
0
64
2
강의노트 내용이 이해가 되지 않아서 문의드립니다.
0
104
1
중급1편, 래퍼클래스 문제와풀이2 로또제너레이터 질문
0
126
1
setVlaue질문
0
152
3
안녕하세요 코딩테스트와 병행하고 싶어서 질문드립니다.
0
131
1
findValue의 파라메터까지 래퍼클래스 배열인 이유가 있을까요?
0
105
1
아래 글처럼 toString() 강의부터 화면이 안보여요
0
140
2
TemporalAdjusters의 lastDayOfNextMonth(), lastDayOfNextYear() 메서드 지원 안함
0
118
2
오타 제보도 되나요?
0
123
2
지역 클래스 예제3 지역변수 질문
0
91
2
래퍼클래스 박싱 출력
0
90
1
자바 equals() 메소드에 대한 물리적 동일성, 논리적 동등성 질문
0
138
3
강의록 오타 제보
0
97
2
자바의 기본 클래스들에 관하여
0
101
1
실무에서 중첩(내부) 클래스 사용하나요?
0
124
1
지역 클래스 - 지역 변수 캡처3
0
86
1
12:30 의 newClassGrade 질문이 있습니다.
0
83
1
날짜와 시간 문제풀이가 막히는데
0
136
2





