클로스트 이야기

[Kotlin] 자료형 과 변수 본문

개발이야기/Kotlin

[Kotlin] 자료형 과 변수

클로스트 2021. 11. 30. 00:21

오늘은 Kotlin 언어의 자료형과 변수에 대해 알아 보겠습니다.

안드로이드 스튜디오에서 Empty Project로 생성하여 테스트 할 수 있습니다.

테스트 환경

엠티 프로젝트 구조

메인 패키지에서 아무 .kt 파일을 만들면 테스트 가능합니다.

실습


메인함수,린트문

package com.example.myapplication

fun main() {
	print("Hello, World")
}

헬로우 월드만 보면 Kotlin의 특징을 대충 알 수 있습니다.

세미콜론(;)을 쓰지 않습니다. 문자열은 쌍따옴표(")로 묶습니다.

일반 출력은 프린트 문으로 실행가능합니다. 이건 Flutter 와도 같고, Python 과도 같습니다.

템플릿 문자열

템플릿 문자열 문법은 Flutter와 매우 유사하게 쓸 수 있습니다. (거의 같습니다.)

변수 하나만 쓴다면 $ 하나로 쓰고 변수로만 표현이 안되고 표현식이 들어갈 경우 중괄호({})로 묶어야 합니다.

    val myStr = "나의 아저씨"
    print("재밌게 본드라마는 $myStr, 글자수는 ${myStr.length} 이다.")
    // 재밌게 본드라마는 나의 아저씨, 글자수는 6 이다.

위와 같이 쓸수 있습니다.

변수

Kotlin에서 변수는 두가지 형태로 쓸 수 있습니다.

val 로 선언하면 변경하지 못하고, var 로 선언하면 변경 할 수 있습니다.

    // 변수선언 및 재할당
    var myName = "Chlost"
    myName = "Chris"
    print("My name is " + myName)

    val yourName = "Paul"
    //yourName = "Alice" // Val cannot be reassigned

위와 같이 var로 선언한 변수는 재할당이 가능하지만, val는 컴파일 단계에서 에러가 나게 됩니다.

var 가 자바스트립트와 비슷 하다고 생각할 수 있지만, 자바스크립트의 경우 동적 타입언어라 타입 변경이 가능하지만,

Kotlin의 경우 한번 할당되면(타입추론으로 할당) 후에는 다른 타입으로 저장 할 수 없습니다.

자료형

Kotlin의 자료형은 일반 프로그래밍언어의 자료형들과 매우 비슷합니다.

    // 정수타입
    var myAge = 30
    val myByte: Byte = 22
    val myShort: Short = 123
    val myInt: Int = 123123123
    val myLong: Long = 123_123_123_123
    
    // 부동소수점 타입 
    val myFloat: Float = 3.141592F
    val myDouble: Double = 15.34920398489324
    
    // bool 타입
    val isSunny: Boolean = true

    // char 타입
    val letterChar: Char = 'A'
    val digitChar: Char = '1'

변수이름: 타입    형태로 작성 할 수 있다. 이렇게 명시적으로 작성 할 수 있지만 보통은 타입추론 형태로 사용합니다.

콜론(:) 을 생략할 경우 자동으로 변수 초기화 시점에 타입이 확정됩니다.

이를 확인 하는 방법은 자동완성을 보면 됩니다.

타입을 확인 할 수 있다.

그리고 숫자형타입에 밑줄(_)을 넣어서 가독성이 더 좋도록 할 수 있습니다.

또 한가지 팁으로 안드로이드 스튜디오 자동완성에서보면 변수에 동그라미와 네모로 구분이 되는데 

동그라미는 var 네모는 val 를 나타냅니다.

    // 한줄주석
    /*
      여러줄 주석
    */

주석 역시 다른 프로그래밍 언어와 다르지 않습니다.

'개발이야기 > Kotlin' 카테고리의 다른 글

[Kotlin] 함수와 Nullable  (0) 2021.12.22
[Kotlin] 조건문과 반복문  (0) 2021.12.19
[Kotlin] 연산자 와 When 표현식  (0) 2021.12.11
Comments