Kotlin 플레이그라운드
Kotlin 기본 문법 들을 배우고 테스트 할때 유용합니다.
아래 주소에 접속해서 직접 코딩하고 테스트 해볼 수 있습니다.
https://developer.android.com/training/kotlinplayground
Kotlin 플레이그라운드 | Android 개발자 | Android Developers
Kotlin 플레이그라운드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Kotlin을 사용해 보고 지금까지 학습한 내용을 연습해 보세요. 아래 창에 코드를 입력하
developer.android.com
Kotlin 프로그래밍 언어 알아보기
변수 선언 (Variable declaration)
Kotlin은 두 키워드(val 및 var)를 사용하여 변수를 선언합니다.
- 값이 변경되지 않는 변수에 val을 사용합니다. val을 사용하여 선언된 변수에 값을 재할당할 수 없습니다.
- 값이 변경될 수 있는 변수에 var을 사용합니다.
아래 예에서 count는 10의 초기 값이 할당되는 Int 유형의 변수입니다.
var count: Int = 10
Int는 정수를 나타내는 유형이며 Kotlin에서 표현될 수 있는 많은 숫자 유형 중 하나입니다. 다른 언어와 마찬가지로 수치 데이터에 따라 Byte, Short, Long, Float, Double을 사용할 수도 있습니다.
var 키워드는 필요에 따라 count에 값을 재할당할 수 있음을 의미합니다. 예를 들어 count 값을 10에서 15로 변경할 수 있습니다.
var count: Int = 10
count = 15
하지만 일부 값은 변경되지 않습니다. languageName이라는 String을 고려합니다. languageName에서 'Kotlin'의 값이 항상 유지되도록 하려면 val 키워드를 사용하여 languageName을 선언합니다.
val languageName: String = "Kotlin"
이러한 키워드를 사용하면 변경 가능한 항목을 명시할 수 있습니다. 필요에 따라 키워드를 유용하게 사용하세요. 변수 참조를 재할당할 수 있어야 하는 경우 var로 선언합니다. 그렇지 않은 경우 val을 사용합니다.
유형 추론 (Type inference)
이전 예에서 languageName에 초기 값을 할당할 때 Kotlin 컴파일러는 할당된 값의 유형을 기반으로 유형을 추론할 수 있습니다.
"Kotlin" 값이 String 유형이므로 컴파일러는 languageName 또한 String이라고 추론합니다. Kotlin은 정적으로 입력되는 언어입니다. 즉, 컴파일 시간에 유형이 결정되고 절대 변경되지 않습니다.
다음 예에서 languageName이 String으로 추론되므로 String 클래스의 일부가 아닌 함수를 호출할 수 없습니다.
val languageName = "Kotlin"
val upperCaseName = languageName.toUpperCase()
// Fails to compile
languageName.inc()
toUpperCase()는 String 유형의 변수에서만 호출할 수 있는 함수입니다. Kotlin 컴파일러가 languageName을 String으로 추론했으므로 toUpperCase()를 안전하게 호출할 수 있습니다. 하지만 inc()는 Int 연산자 함수이므로 String에서 호출할 수 없습니다. Kotlin의 유형 추론 방식은 간결성과 유형 안전성을 모두 보장합니다.
Null 안전 (Null safety)
일부 언어에서는 초기 값을 명시적으로 제공하지 않고 참조 유형 변수를 선언할 수 있습니다. 이러한 경우 변수에는 일반적으로 null 값이 포함됩니다. Kotlin 변수는 기본적으로 null 값을 보유할 수 없습니다. 즉, 다음 스니펫은 유효하지 않습니다.
// Fails to compile
val languageName: String = null
null 값을 포함하는 변수는 nullable 유형이어야 합니다. 아래 예와 같이 ?를 변수 유형의 접미사로 지정하여 변수를 nullable로 지정할 수 있습니다.
val languageName: String? = null
String? 유형을 사용하여 String 값 또는 null을 languageName에 할당할 수 있습니다.
nullable 변수는 신중하게 처리해야 합니다. 아니면 심각한 NullPointerException이 발생할 위험이 있습니다. 예를 들어, 자바에서 null 값에 관해 메서드를 호출하려고 하면 프로그램이 비정상 종료됩니다.
Kotlin은 nullable 변수로 안전하게 작업하기 위한 많은 메커니즘을 제공합니다. 자세한 내용은 Android의 일반 Kotlin 패턴: Null 허용 여부를 참조하세요.
'Java > Android App - Kotlin' 카테고리의 다른 글
Kotlin - 클래스 (생성자) (0) | 2023.01.04 |
---|---|
Kotlin - 클래스 (속성 정의) (0) | 2023.01.03 |
Kotlin - 클래스 (Class) (0) | 2023.01.03 |
Kotlin - Null 허용 변수 (0) | 2023.01.03 |
Kotlin 문법 - 조건문 (if/else, when) (0) | 2023.01.01 |