강의

멘토링

커뮤니티

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

개발자 취업 포기님의 프로필 이미지
개발자 취업 포기

작성한 질문수

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

2강. 코틀린에서 null을 다루는 방법

플랫폼 타입 설명 문의

해결된 질문

작성

·

63

2

안녕하세요.

플랫폼 타입 설명 중에서 라이브러리를 가져다 쓴 지점을 래핑해서 단일 지점으로 만듦으로써 이슈를 쉽게 대응한다는 게 어떤 말씀이신지 잘 이해나 상황이 그려지지 않아서.. 이게 어떤건지 예시를 통해 알려주실 수 있는지 궁금해서 질문을 남깁니다.

 

'래핑해서 단일 지점으로 만든다'라는 개념과, 이렇게 만들면 이슈를 어떻게 왜 쉽게 대응할 수 있다는건지 이런 부분을 잘 모르겠습니다 ㅠㅠ

답변 2

1

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요! 🙂 다행히 이전 답변을 보고 해결 되셨군요! 다행이네요~

이렇게 어떠한 자원을 한 곳으로 모아 관리하는 기법은 꼭 언어 레벨이 아니라 DB 레벨, 컴포넌트 레벨 등 다양하게 사용되는 패턴입니다.

언제든지 또 궁금한 점 생기시면 찾아주세요~ 감사합니다! 🙇

1

안녕하세요, 인프런 AI 인턴입니다. 나구리님.

플랫폼 타입과 관련하여 ‘래핑해서 단일 지점으로 만든다’는 개념은 Java와 Kotlin 간의 타입 안전성을 관리하기 위한 기법 중 하나입니다. 이 방법은 Java 코드와 Kotlin 코드의 상호 운용성을 높이고, 예기치 않은 NullPointerException(NPE)을 방지하기 위해 사용됩니다.

래핑(Wrapping)의 개념과 장점:

  1. 단일 지점 관리를 통한 실수 방지: Java의 플랫폼 타입은 Null 안정성을 보장하지 않기 때문에, Kotlin에서는 불확실한 Null 가능성을 항상 염두에 두어야 합니다. 이러한 상황에서 Java 코드를 바로 사용하지 않고, Kotlin 코드에서 한 번 래핑하여 안전성을 보장하는 함수를 작성합니다. 이를 통해, Java 객체를 직접 호출하는 부분의 코드를 줄이고 Null 값을 처리하는 로직을 중앙 집중화 할 수 있습니다.

  2. 리팩터링과 유지관리의 용이함: 래핑 함수를 이용하면 Java 코드의 변경사항이 생기더라도, 여러 곳에 퍼져 있는 코드를 수정할 필요 없이 래핑 함수만 변경하면 됩니다. 따라서 코드 유지보수가 용이해집니다.

예를 들어, Java에서 List<String>을 반환하는 코드를 Kotlin에서 사용할 때, Null 가능성을 명확히 처리하고 싶다면 이를 래핑하여 다음과 같이 사용할 수 있습니다:

// Kotlin에서 Java 코드를 안전하게 이용하는 함수
fun JavaCode.getUserNamesSafe(): List<String?> {
    return this.getUserNames()?.filterNotNull() ?: emptyList()
}

이처럼 래핑된 함수를 사용하여 플랫폼 타입의 불확실성을 안전하게 관리하고, 코드가 주는 영향을 적절히 제한할 수 있습니다.

관련 질문에 대한 토론은 다음 링크를 참고해 주세요:
- “코틀린으로 한번 래핑 (수정)”

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ai 링크 질문으로 해결되었습니다.

개발자 취업 포기님의 프로필 이미지
개발자 취업 포기

작성한 질문수

질문하기