inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

11강. 코틀린에서 접근 제어를 다루는 방법

선생님 이상한 곳에서 헷갈립니다 ㅜㅜ

546

euni

작성한 질문수 31

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

코틀린은 자바와 달리 getter setter가 기본적으로 존재하는데

자바와 코틀린을 같이 사용하는 경우면 몰라도, 코틀린만 사용하는 경우 필드에 private을 붙이는 게 의미가 있나요?

어차피 public이던 private이던 getter가 자동으로 붙는데.. 헷갈립니다 ㅜ

java kotlin 객체지향

답변 1

2

최태현

안녕하세요, 으뀨뜌님!! 좋은 질문 감사드립니다!! 😊

아유~~ 전혀 이상한 곳 아닙니다!!

 

코틀린만 사용하는 경우 필드에 private을 붙이는게 의미가 있는가?! 에 대한 답변을 드리자면 네네 있습니다!!!

 

결국 private의 목표는 그 클래스 밖으로 변수가 노출되지 않게 하는것이죠!

때문에 private을 붙여서 자동으로 private get이 생기더라도, 해당 변수는 클래스 안에서만 쓸 수 있지 밖에서는 쓸 수 없습니다!! 예를 들어

class A(var num)

이라는 클래스를 만들면 A 클래스 밖에서도 num을 마음껏 바꿔버릴 수 있죠

하지만,

class B(private var num)

이라는 클래스를 만들면 B 클래스 밖에서 num 을 바꿀 수가 없습니다!!

비록 B 클래스 안에서는 num 의 setter / getter가 자동으로 생기니 num 을 바꿀 수 있지만, B 말고 다른 친구들이 바꾸지 못하게 만들었다는데 의미가 있습니다.

 

또 궁금한 점 있으시면 편하게 질문 올려주세요!! 감사합니다! 😊

0

euni

아 감사합니다.. 자바 롬복에서의 @Getter @Setter랑 같은 의미인 걸로 착각했네요!!

수업노트

0

58

1

싱글톤과 스프링

0

74

2

get() = 3

0

52

2

강사님

0

75

1

강의 복습하면서 생긴 질문

1

97

1

Kotlin과 Java의 현업에서의 활용

0

129

2

data class와 자바의 Lombok을 이용한 DTO 클래스 차이 질문

0

75

1

코틀린에서 상속 시, 주의점에 대한 질문

1

100

3

내용 이해 질문

0

58

1

자바와 코틀린의 함수형 프로그래밍,

1

91

1

플랫폼 타입 설명 문의

2

78

2

널 아님 단언 관련 질문

0

86

1

강의 중 질문

0

81

2

범위 비교 질문

1

93

2

타입캐스팅 궁금한점 질문드립니다.

1

241

2

코틀린 val 질문

0

168

2

완강 후 Kotlin 이런저런 질문 드려봅니다!

3

411

2

확장함수 스타일 질문

0

140

2

확장 프로퍼티 질문

1

158

1

update 함수를 만든다는게 어떤 의미인지 예시가 궁금합니다!

1

283

1

java class의 NotNull 어노테이션 인식

1

264

1

[16강] 확장함수 관련 질문입니다!

1

134

2

리턴타입 사용시 any를 사용해도 괜찮은가요?

1

142

1

안녕하세요 scope function 에 receiver 가 없는 경우

1

172

1