-
[Kotlin 코틀린 기초] 변수 및 자료형 (Nullable & Non-NulKotlin 2021. 1. 6. 22:10728x90
'디모의 Kotlin 강좌' 유튜브 강의를 듣고 내용을 정리하였습니다.
변수
- var : 일반적으로 통용되는 변수. 언제든지 읽기 쓰기가 가능
- val : 선언시에만 초기화 가능. runtime시 변경되지 말아야할 값
선언 위치에 따라
- Property(속성) : 클래스에 선언된 변수
- Local Variable(로컬변수) : 이외의 Scope 내에 선언된 변수
Kotlin과 Java 차이점
Java Kotlin 고전적인 언어들은 변수가 선언된 후 초기화 되지 않으면 기본값 또는 null값으로 초기화 기본 변수(Non-null 타입)은 null을 허용하지 않으며, 또한 초기화 하지 않은 채로 사용하게 되면 컴파일 에러 int, boolean과 같은 primitive type을 제외한 객체들은 항상 null이 될 수 있음
=> Null check가 필요하며, Null Pointer Exception 발생 가능Nullable과 Non-nullable 타입으로 변수 선언 가능
=> Non-nullable 타입으로 선언하면 객체가 null이 아닌 것을 보장하기 때문에 Null check 등의 코드 작성할 필요 없음.Nullable과 Non-Nullable Type
타입을 선언할 때 ?(물음표) 를 붙이면 null을 할당할 수 있는 변수이고, ?가 붙지 않으면 null이 허용되지 않는 변수를 의미
var nullable: String? = "nullable" var nonNullable: String = "non-Nullable" nullable = null // 컴파일 성공 nonNullable = null // 컴파일 에러
참고사이트 : codechacha.com/ko/kotlin-null-safety/
[Kotlin 코틀린 기초] 시리즈 게시글 더보기
2021/01/06 - [Kotlin] - [Kotlin 코틀린 기초] 타입추론(Type inference)과 함수
2021/01/08 - [Kotlin] - [Kotlin 코틀린 기초] 추상클래스와 인터페이스 (Abstract Class & Interface)
2021/01/09 - [Kotlin] - [Kotlin 코틀린 기초] 고차함수와 람다(High Order Function & Lambda)
728x90'Kotlin' 카테고리의 다른 글
[Kotlin 코틀린] Scope function - apply, with, let, also ,run (0) 2021.08.28 [Kotlin 코틀린] 고차함수와 람다(High Order Function & Lambda) (0) 2021.01.09 [Kotlin 코틀린] 추상클래스와 인터페이스 (Abstract Class & Interface) (0) 2021.01.08 [Kotlin 코틀린] 타입추론(Type inference)과 함수 (0) 2021.01.06