반응형
이 포스트는 2021.12~2022.09 기간동안 벨로그에 작성한 글을 티스토리에 옮겨 적은 것입니다.
코틀린에선 기본적으로 null 값을 변수에 할당할 수 없다.
변수에 null 값을 넣고 싶을때 ?를 사용한다. 변수 타입 뒤에 붙여주면 된다.
var notNull:Int = null //오류
var notNull:Int? = null //정상
몰?루? 같은 느낌...진짜 생소하네ㅋㅋㅋ
반대로 절대 null값을 넣으면 안되는 경우 !!를 사용한다.
var notNull:Int = 0 //기본값은 null허용x
var okNull:Int? = 10 //null이 들어올 수 있음을 의미
notNull = okNull!! //ofNull은 null을 허용한 상태이기 때문에 !!로 처리해야 오류없이 실행됨
//그러나 위의 코드에서 okNull에 null값이 들어가면 오류가 발생함
이러한 문법은 대표적으로 프래그먼트 기본 설정에서 찾아볼 수있다.
private var _binding: FragmentLetterListBinding? = null
//get()은 이 속성이 'get-only'임을 나타냄. 가져올수만 있고 다른 변수에 할당할 수 없음.
private val binding get() = _binding!!
_binding변수가 null을 허용해야 하는 이유는, 프래그먼트는 onCreateView()가 호출될 때까지 레이아웃을 확장할 수 없기 때문이다.
반응형
'개발 관련 공부 > 코틀린' 카테고리의 다른 글
Unit 3-3 (0) | 2022.09.14 |
---|---|
Unit 3-2 (0) | 2022.09.14 |
Unit 3-1(2) (0) | 2022.09.14 |
Unit 3-1(2) (0) | 2022.09.14 |
Unit3-1(1) (0) | 2022.09.13 |
댓글