• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Object

23.07.29 01:21 작성 조회수 187

0

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

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

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.31

안녕하세요, 인프런 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 변수의 범위와 접근 방식에 차이가 있기 때문에 결과가 달라질 수 있습니다.

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