inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Hướng dẫn dành cho người mới bắt đầu sử dụng Java và Kotlin

Bài 2. Cách xử lý null trong Kotlin

플랫폼 타입 설명 문의

Đã giải quyết

76

not

10 câu hỏi đã được viết

2

안녕하세요.

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

 

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

java kotlin 객체지향

Câu trả lời 2

1

lannstark

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

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

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

1

communityai8509

안녕하세요, 인프런 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()
}

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

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

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

1

not

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

수업노트

0

53

1

싱글톤과 스프링

0

71

2

get() = 3

0

49

2

강사님

0

74

1

강의 복습하면서 생긴 질문

1

94

1

Kotlin과 Java의 현업에서의 활용

0

124

2

data class와 자바의 Lombok을 이용한 DTO 클래스 차이 질문

0

74

1

코틀린에서 상속 시, 주의점에 대한 질문

1

95

3

내용 이해 질문

0

56

1

자바와 코틀린의 함수형 프로그래밍,

1

91

1

널 아님 단언 관련 질문

0

83

1

강의 중 질문

0

79

2

범위 비교 질문

1

91

2

타입캐스팅 궁금한점 질문드립니다.

1

239

2

코틀린 val 질문

0

166

2

완강 후 Kotlin 이런저런 질문 드려봅니다!

3

408

2

확장함수 스타일 질문

0

139

2

확장 프로퍼티 질문

1

156

1

update 함수를 만든다는게 어떤 의미인지 예시가 궁금합니다!

1

283

1

java class의 NotNull 어노테이션 인식

1

262

1

[16강] 확장함수 관련 질문입니다!

1

131

2

리턴타입 사용시 any를 사용해도 괜찮은가요?

1

139

1

안녕하세요 scope function 에 receiver 가 없는 경우

1

169

1

코틀린 싱글톤 질문

1

219

1