Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 안드로이드 스튜디오 style
- java thread 예제
- 안드로이드 스튜디오 커스텀 다이얼로그
- dagger error
- 자바 스레드 예제
- 안드로이드 디자인패턴
- 변수
- 아파치 엔진엑스
- edittext 연결
- hilt error
- Kotlin
- 디자인 패턴 예제
- LifeCycle
- 안드로이드 스튜디오 반복되는 레이아웃 코드
- java
- 다른 객체 리스트의 비교
- 리사이클러뷰 아이템 재사용
- recyclerview item recycle
- 안드로이드 스튜디오 인터넷 연결 확인
- apache란
- 안드로이드 스튜디오 tts
- 이중for문 사용 안하기
- Thread
- savedinstancestate
- AAC
- 아파치란
- 안드로이드 스튜디오 custom dialog
- apache nginx
- 안드로이드 스튜디오 인터넷 연결 안되어 있을 때
- 객체지향 프로그래밍 5가지 원칙
Archives
- Today
- Total
Sam Story
Kotlin 변수와 자료형 본문
Kotlin의 기본 문법 특징
- 함수를 선언할 때 fun 키워드를 사용한다.
- 파라미터 이름 뒤에 그 파라미터의 타입을 쓴다.
- 함수를 최상위 수준에 정의할 수 있다.
- 최신 프로그래밍 언어 경향과 마찬가지로 줄 끝에 세미콜론을 붙이지 않아도 된다.
Kotlin 변수 선언
var (variable) - 변경 가능한 변수.
val (value) - 변경 불가능한 변수 ( java로 비유하자면 final 변수 )
fun main(){
// 인트 변수를 선언하고 값을 100으로 초기화 한후 출력
var a: Int
a = 100
print(a)
}
fun main(){
// 인트 변수를 선언하고 값을 100으로 초기화
var a: Int = 100
// var 변수를 초기화 하려고하면 에러가 뜸.
a = 200 // x
print(a) // 출력할 수 없음
}
기존 자바에서는 변수를 선언하고 값을 할당해주지 않으면 기본값을 갖게된다.
int의 경우에는 0
boolean의 경우에는 false
객체의 경우에는 null
그러나 코틀린의 경우에는 기본값으로 null을 허용하지 않는다.
그렇기 때문에 변수 사용시 자료형 뒤에 ?를 붙혀야 null을 허용하는 nullable 변수로 선언해 줄 수 있다.
fun main(){
// 자료형 뒤에 ? 를 붙혀서 null을 허용해준다
var a: Int? = null
print(a) // 출력하게 되면 null 이 나온다.
}
다른 자료형 변수들도 사용해보자.
fun main(){
var b:Boolean? = null
b = true
var c:Char? = null
c = 'c'
var st:String? = null
st = "Hello Kotlin"
var by:Byte? = null
by = 123
var sh:Short? = null
sh = 12345
var i:Int? = null
i = 100000000
var l:Long? = null
l = 100000000000000
var f:Float? = null
f = 1.1f
var d:Double? = null
d = 1.123
}
이런식으로 변수들을 선언하고 자료형 지정을 해준 후 null을 허용할건지 안할건지 ?를 사용하여 구분한뒤
사용하는 방식이 인상적 이었다. 이런식으로 지정해줬을때 코드추적도 굉장히 용이할 것 같다.
'Kotlin' 카테고리의 다른 글
코루틴 (Coroutine) (1) | 2025.02.05 |
---|---|
늦은 초기화 lateinit var , by lazy (0) | 2024.11.04 |
Kotlin 기본 생성자 오버로딩 (1) | 2024.04.20 |
Kotlin 조건문 (0) | 2024.02.02 |