코틀린에서 프로퍼티 가시성 범위에 관련돼서 질문이 있습니다.
280
작성한 질문수 7
8분 50초 쯤에 말씀하신 내용이 이해가 안가는데 확인 한 번만 부탁드립니다.
- 현재 이 Car은 사실 name, owner, price에 대한 세 개의 getter와
- owner와 price에 대한 setter가 있는거죠
위 내용에서 노란색 밑줄에 대한 내용이 이해가 안가는데 제가 잘못 알고 있었던거지 질문드립니다.
코틀린에서는 필드만 만들면 getter와 setter를 자동으로 만들어준다. 라고 9강에서 말씀하셨는데 이번꺼는 setter가 왜 owner와 price에 한정지어서 말씀하신건지 궁금합니다.
바이트 코드도 디컴파일 해봤을 때도 getter3개 setter3개가 존재해서 헷갈리게 돼서 정확히 알고 싶습니다!

답변 1
1
안녕하세요! 지훈님~~!! 반갑습니다 ㅎㅎㅎㅎㅎ
아하~ 넵넵! 질문 주신 내용에서 이 부분이 핵심인 것 같아요!!
"코틀린에서는 필드만 만들면 getter와 setter를 자동으로 만들어준다. 라고 9강에서 말씀하셨는데 이번꺼는 setter가 왜 owner와 price에 한정지어서 말씀하신건지 궁금합니다."
의문을 해결하시기 위해 Decompile 까지 해보시다니 너무 좋습니다!!!
그 이유를 말씀드리면, 제가 8분 50초 쯤에 다룬 Car 클래스에서 name은 val 이기 때문입니다!!!
owner와 price만이 var이죠! 때문에 name은 불변이라 setter 자체가 존재하지 않습니다~!
아마 Decompile 전 Kotlin 클래스를 보시면 Car 클래스에 name이 var로 되어 있으실거에요!! val 프로퍼티가 Decompile되면 getter만 있을 겁니다!!
혹시 더 설명이 필요하신 부분이 있으면 편하게 알려주세요~~ 감사합니다 ㅎㅎㅎ
0
아 정말 죄송합니다. 제가 해당 코드를 제대로 작성을 안했던거였군요.
바로 이해가 갔습니다 val 즉 상수로 선언돼 있기 때문에(생성자에서 초기화 후 변경 불가능) set 함수를 만들지도 않는거였군요.
늦은시간에도 답변 감사합니다!!
0
아이고 아닙니다 ㅎㅎㅎ 이번 강의는 자료가 없고 화면으로만 코드가 제공되어 실습하시는데 약간 어려움이 있으셨을 것 같아요!! 오히려 의문을 가지고 Decompile까지 직접 해보신게 대단하십니다!!
다음 강의부터는 자료도 잘 준비해보려고 합니다~ 🙏
감사합니다!! 언제든 또 질문 주셔요~!!!
수업노트
0
52
1
싱글톤과 스프링
0
71
2
get() = 3
0
49
2
강사님
0
74
1
강의 복습하면서 생긴 질문
1
93
1
Kotlin과 Java의 현업에서의 활용
0
121
2
data class와 자바의 Lombok을 이용한 DTO 클래스 차이 질문
0
72
1
코틀린에서 상속 시, 주의점에 대한 질문
1
95
3
내용 이해 질문
0
56
1
자바와 코틀린의 함수형 프로그래밍,
1
91
1
플랫폼 타입 설명 문의
2
73
2
널 아님 단언 관련 질문
0
83
1
강의 중 질문
0
79
2
범위 비교 질문
1
91
2
타입캐스팅 궁금한점 질문드립니다.
1
239
2
코틀린 val 질문
0
166
2
완강 후 Kotlin 이런저런 질문 드려봅니다!
3
408
2
확장함수 스타일 질문
0
138
2
확장 프로퍼티 질문
1
156
1
update 함수를 만든다는게 어떤 의미인지 예시가 궁금합니다!
1
283
1
java class의 NotNull 어노테이션 인식
1
260
1
[16강] 확장함수 관련 질문입니다!
1
130
2
리턴타입 사용시 any를 사용해도 괜찮은가요?
1
138
1
안녕하세요 scope function 에 receiver 가 없는 경우
1
168
1





