끄적이는 메모장

[Kotlin] 기본 문법 (주석, 출력, 변수) 본문

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과 동일하다. 
  • 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이라면 런타임에 예외가 발생한다. 
반응형

'Kotlin > Kotlin Programming' 카테고리의 다른 글

[Kotlin] 함수, 지역함수  (0) 2022.05.06