• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

함수 null 질문드립니다.

22.07.05 09:47 작성 조회수 232

1

@nullable

public String getName() {

    return name;

}

 

- 위 함수는 리턴타입이  reference 타입이니 어노테이션을 지우면 참조형식이 될거 같은데 플랫폼 타입이 되는데

함수만 그런 규칙이 적용이 되는건가요?

 

 

답변 1

답변을 작성해보세요.

0

안녕하세요~ backboss님! 좋은 질문이십니다 ㅎㅎㅎㅎㅎ

우선, 말씀해주신 참조타입과 플랫폼타입의 관계에 대해 정리해보면 다음과 같습니다!

참조 타입 중, 어노테이션이 없는 타입만이 "코틀린에서 null 여부를 파악할 수 없는" 플랫폼 타입이 되는 것이지요!

 

그래서 질문 주신 

함수만 그런 규칙이 적용이 되는건가요?

에 대한 답변을 드리자면! 그렇습니다!!!

결국 플랫폼 타입이란건 '코틀린이 Java 코드를 가져왔을때' 그 값의 null여부를 알 수 없는 경우에만 플랫폼 타입인 것인데요!

(지극히 코틀린 입장이죠 ㅎㅎ)

Java에 있는 값을 가져오려면 '메소드'를 통해서만 가져올 수 있기에, 함수에만 이러한 규칙이 적용된다고 생각해주시면 될 것 같습니다!!!

 

더 궁금하신게 있으시다면, 편하게 질문 주세요~ 감사합니다!!