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

김민님의 프로필 이미지
김민

작성한 질문수

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

12강. 코틀린에서 object 키워드를 다루는 방법

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

작성

·

423

1

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

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

답변 2

1

김민님의 프로필 이미지
김민
질문자

아 ~ 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() 처럼 사용하는 편입니다!

감사합니다!!

김민님의 프로필 이미지
김민

작성한 질문수

질문하기