Kotlin/Kotlin Programming
[Kotlin] 기본 문법 (주석, 출력, 변수)
밥보92
2022. 4. 24. 14:34
반응형
1. Kotlin 메인 함수
Kotlin은 main () 함수로 부터 시작을 합니다.
fun main () {
// 한 줄 주석
/*
블록 주석
*/
}
2. Kotlin의 주석
기본적으로 Java와 동일하게 두 가지 타입의 주석을 지원합니다. (위의 예제 참고)
- 한 줄 주석 //
- 블록 주석 /* */
3. Kotlin의 기본 출력 함수 print, println
- 자바에서의 출력 함수와 동일하게 일반 print 함수는 출력 이후 줄 바꿈을 하지 않고, println함수는 출력 이후 줄 바꿈을 수행합니다.
- Kotlin에서는 값을 출력할 때 ${값}을 이용 할 수 있습니다.
fun main() {
print("TEST1")
println("TEST2")
println("TEST3")
println("TEST" + 4)
println("TEST${5}")
}
___ 출력 ___
> TEST1TEST2
> TEST3
> TEST4
> TEST5
4. Kotlin에서 세미콜론의 사용
- 기본적으로 명령문의 마직에 세미콜론을 사용하지 않아도 된다. (사용해도 그만 안 해도 그만)
- 하지만 한 줄에 여러개의 명령문을 작성하고자 한다면 명령문의 끝마다 세미콜론을 사용해주어야 한다.
- 단, 마지막 명령문에 대해서는 세미콜론 사용은 선택이다.
fun main() {
println("세미콜론");
println("세미콜론 사용 안해")
println("세미콜론 사용"); println("세미콜론 선택")
}
5. 자바와 구분 되는 리터럴
기본적인 리터럴은 Java나 다른 언어에서의 쓰임과 다르지 않기 때문에 Kotlin에서 구분되는 리터럴만 설명을 한다.
- 정수형 리터럴
- int와 long에 대한 구분이 필요 없다.
- ex) 100000000L 이렇게 사용할 필요 없이 100000000 이렇게 표현하면 long 타입으로 인식한다.
- 긴 숫자에 대해서는 세 자리씩 _ 을 통해 구분 가능하다.
- ex) 100_000_000_000 으로 표현된 정수형은 실제로 1000000000000과 동일하다.
- int와 long에 대한 구분이 필요 없다.
- Raw 리터럴
- """문자열""" : 여러 줄의 문자열을 표현할 때 사용한다.
- 아래 예제를 보면 | 연산자를 통해 문자열을 묶어주고 trimMargin 함수를 통해 | 연산자 앞에 붙은 공백들을 제거해준다.
- Unit
- void를 표현한다.
- 뒤에서 함수에 대해 설명을 할 때 자세히 다루도록 할 예정이다.
- Nothing
- 함수가 비 정상적으로 끝남을 의미한다.
fun main() {
println(100_000_000_000)
println("오늘은\n날씨가\n좋네요")
println("------")
println("""오늘은
|날씨가
|좋네요
""".trimMargin())
}
___출력___
> 100000000000
> 오늘은
> 날씨가
> 좋네요
> ------
> 오늘은
> 날씨가
> 좋네요
6. 변수의 선언 var, val
Kotlin은 변수를 선언 할 때 두 가지의 키워드 var, val을 사용한다.
- var : 변수를 선언 한 이후 값을 변경 가능하다.
- val : 변수를 선언 한 이후 값을 변경할 수 없다. (ex : c의 const 같은)
- 변수를 선언할 때 자료형을 명시할 수 도 있으며, 생략 시 할당되는 값에 따라 자료형이 자동으로 결정된다.
- var/val 변수명:변수타입 = 값
- ex) var myNum:int = 1
- ex) var myNum = 1
7. Null 안정성을 고려한 변수의 선언
Kotlin은 Null을 할당 가능한 변수와 할당 가능하지 않은 변수를 구분하여 선언할 수 있음으로써 Null 안정성을 제공한다.
변수 선언 시 자료형에 ?을 붙임에 따라 Null 할당 여부가 결정되는데
- Null을 허용하지 않는 변수
- var/val 변수명:변수 타입 = 값
- ex) var myNum1:int = 1
- myNum1은 null이 허용되지 않는다.
- Null을 허용하는 변수
- var/val 변수명:변수 타입? = 값
- ex) var myNum2:int? = 1
- myNum2는 null이 허용된다.
- Null을 허용하는 변수에 Null을 허용하지 않는 변수를 할당 (가능)
- ex) var myNum3:int? = myNum1 (가능)
- Null을 허용하지 않는 변수에 Null을 허용하지 않는 변수를 할당 (기본적으로 불가능)
- ex) var myNum4:int = myNum2 (불가능)
- null이 myNum2에 할당되어 있을 가능성이 있기 때문에 기본적으로 불가능하다.
- 할당 가능한 방법 (!!)
- Null을 허용하지 않는 변수에 Null을 허용하는 변수를 할당하기 위한 방법으로는 !!을 붙이면 된다.
- ex) var myNum5:int = myNum2!! (가능)
- 하지만 myNum2가 null이라면 런타임에 예외가 발생한다.
- ex) var myNum4:int = myNum2 (불가능)
반응형