-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
선생님 이상한 곳에서 헷갈립니다 ㅜㅜ
23.04.28 23:31 작성 조회수 396
1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
코틀린은 자바와 달리 getter setter가 기본적으로 존재하는데
자바와 코틀린을 같이 사용하는 경우면 몰라도, 코틀린만 사용하는 경우 필드에 private을 붙이는 게 의미가 있나요?
어차피 public이던 private이던 getter가 자동으로 붙는데.. 헷갈립니다 ㅜ
답변을 작성해보세요.
2
최태현
지식공유자2023.04.29
안녕하세요, 으뀨뜌님!! 좋은 질문 감사드립니다!! 😊
아유~~ 전혀 이상한 곳 아닙니다!!
코틀린만 사용하는 경우 필드에 private을 붙이는게 의미가 있는가?! 에 대한 답변을 드리자면 네네 있습니다!!!
결국 private의 목표는 그 클래스 밖으로 변수가 노출되지 않게 하는것이죠!
때문에 private을 붙여서 자동으로 private get이 생기더라도, 해당 변수는 클래스 안에서만 쓸 수 있지 밖에서는 쓸 수 없습니다!! 예를 들어
class A(var num)
이라는 클래스를 만들면 A 클래스 밖에서도 num을 마음껏 바꿔버릴 수 있죠
하지만,
class B(private var num)
이라는 클래스를 만들면 B 클래스 밖에서 num
을 바꿀 수가 없습니다!!
비록 B 클래스 안에서는 num
의 setter / getter가 자동으로 생기니 num
을 바꿀 수 있지만, B 말고 다른 친구들이 바꾸지 못하게 만들었다는데 의미가 있습니다.
또 궁금한 점 있으시면 편하게 질문 올려주세요!! 감사합니다! 😊
답변 1