인프런 커뮤니티 질문&답변

RRR3578님의 프로필 이미지
RRR3578

작성한 질문수

[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법

Object

Object

작성

·

225

0

6:30에 test5.number는 왜 안되나요?

그리고 println(TestObjectClass().number)도 똑같이 안되던데 println(TestObjectClass.number)하고 println(TestObjectClass().number)가 무슨 차이가 있나요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

6:30에 test5.number가 왜 안 되는지와 println(TestObjectClass().number)과 println(TestObjectClass.number)의 차이에 대해 알려드릴게요.

첫 번째로, test5.number가 왜 안 되는지에 대해서는 코드가 없기 때문에 정확한 원인을 파악하기 어렵습니다. 추가적인 코드를 알려주시면 원인을 파악할 수 있을 것 같아요.

두 번째로, println(TestObjectClass().number)과 println(TestObjectClass.number)의 차이입니다.

  • println(TestObjectClass.number): 이 문장은 클래스 자체의 멤버 변수인 number를 출력하려는 것입니다. 따라서 TestObjectClass 클래스의 number 값이 출력됩니다.

  • println(TestObjectClass().number): 이 문장은 TestObjectClass 클래스의 인스턴스를 생성해서 해당 인스턴스의 number 값을 출력하려는 것입니다. 따라서 TestObjectClass 클래스의 인스턴스를 생성한 후, 그 인스턴스의 number 값이 출력됩니다.

이 두 문장은 number 변수의 범위와 접근 방식에 차이가 있기 때문에 결과가 달라질 수 있습니다.

더 자세한 답변을 위해서는 코드를 보면 더 도움을 드릴 수 있을 것 같아요. 추가적인 내용이 있다면 알려주세요~
감사합니다.

RRR3578님의 프로필 이미지
RRR3578

작성한 질문수

질문하기