• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

static 함수를 호출하는 부분에서 질문 드립니다.

23.01.10 15:38 작성 조회수 269

1

안녕하세요. 12강 강의 중 companion object 내부에 있는 newBaby()를 호출할 때 @JvmStatic을 붙이지 않아도 호출이 가능하고, 오히려 IDEA에서 Companion을 제거하라는 힌트를 주더라구요.

혹시 코틀린 버전 차이일까요?

답변 2

·

답변을 작성해보세요.

1

김민님의 프로필

김민

질문자

2023.01.10

아 ~ Java에서 호출하는 경우였군요 !

답변 감사합니다.

감사합니다!! 오늘도 행복한 하루 되셔요~!! 🙏🙏

1

안녕하세요 김민님!! 질문 남겨주셔서 감사드립니다 ㅎㅎㅎ

말씀해주신 내용 (@JvmStatic 을 붙이고 Companion 을 반드시 써야 하는 것)은
companion object 안에 있는 newBaby 함수를 Java에서 호출하는 경우입니다!!!

image(Java에서 Kotlin class Person을 가져오는 코드)

 

지금처럼, Kotlin에서 부른시다면 Person.newBaby() 라고 하시는게 조금 더 좋아요!! 물론 Person.Companion.newBaby() 라고 하실 수도 있고요~

 

JVM 혹은 Kotlin 버전과는 무관하게, 저 역시 코틀린에서 companion object 안의 함수를 호출하면 Person.newBaby() 처럼 사용하는 편입니다!

감사합니다!!