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

83

roberts

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

0

태현님! 안녕하세요, 먼저 이런 좋은 강의를 만들어 주셔서 감사드립니다 🙂

다만, 듣다가 또 하나의 질문이 있어서 말씀드리고 싶습니다! 바로 널 아님 단언 관련입니다!
예제 코드에서는 아래와 같이 작성을 해주셨는데요!

fun startsWith(str: String?): Boolean {
    return str!!.startsWith("A")
}

이런 경우 str 파라미터가 null이 들어올 가능성이 있지만 해당 코드를 실행할때 null이 절대 아니야라고 명시적으로 표현하기 위하여 !!를 붙여준다고 이해했습니다!

다만, 이런 경우는 굳이 널 아님 단언을 사용하는게 아니라 파라미터의 String?타입을 String으로 두면 어떨까 싶은 생각이 들어서요! 이렇게 된다면 굳이 널 아님 단언을 사용할 필요가 없어 보이는데 다른 곳에서 사용하는 예시가 따로 있는지 궁금하여 질문을 드리게 되었습니다!

java kotlin 객체지향

Câu trả lời 1

1

lannstark

안녕하세요 성빈님! 🙂 언제나 환영합니다.

 

넵! 말씀해주신 것처럼 해당 필드가 절대 null이 아니면 처음부터 String 으로 선언하면 되겠지만

  • [시점에 따라] 처음 DB에 저장되었을 때는 비워두고 나중에 데이터를 채운다거나

  • [타입에 따라] 하나의 데이터가 A 유형일 때는 필수값이고 B 유형일 때는 선택값이라 A 유형을 처리하는 경우에만 null이 아니라거나...

하는 경우가 있다 보니 !! 이란 것은 "절대 이 경우 null이 아님을 밝히기 위한" 용도로 쓸 수 있다는 의미였습니다.

 

답변이 도움이 되었으면 좋겠습니다. 감사합니다. 🙏

1

roberts

태현님 답변 감사드립니다!

수업노트

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

플랫폼 타입 설명 문의

2

76

2

강의 중 질문

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