상세 컨텐츠

본문 제목

[Kotlin] 변수, 상수, 타입

Programming language/Kotlin

by choiDev 2020. 6. 10. 18:17

본문

변수와 상수

타입 설명
변수(Variable) 값의 변경이 가능한 데이터
상수(Constant) 값의 변경이 불가능한 데이터

 

그림1) Kotlin 변수의 형태

 

Kotlin 내장 타입

   - 아래는 코틀린에서 지원하는 내장 타입들이다

타입 설명
String 문자열 데이터 var name:String = "OreoChoi"
Char 단일 문자 var alphabet:Char = 'A'
Boolean true or false var isNull:Boolean = true
Byte 1byte 정수 var age:Byte = 1
Short 2byte 정수 var year:Short = 2
Int 4byte 정수 var money:Int = 10000
Long 8byte 정수 var meter:Long = 1000000L
Float 4byte 실수 var distance:Float = 1.1f
Double 8byte 실수 var weight:Double = 1.2
List 값을 요소로 저장하는 컬렉션 var userList:ArrayList<Int> = ArrayList()
Set 중복없이 고유한 값의 요소를 저장하는 컬렉션 var studentNumber:HashSet<Int> = HashSet()
Map 키와 값의 쌍으로 요소를 저장하는 컬렉션 var studentClass:HashMap<Int,String> = HashMap()

 

읽기 전용 변수(Read-only Variable)

  - Kotlin은  읽기 전용 변수를 선언하는 키워드를 제공하며, 이런 변수는 일단 값이 지정되면 변경될 수 없다.

  - 값이 변경 가능한 변수는 var(Variable)라는 키워드를 사용

  - 읽기 전용 변수는 val(Value)라는 키워드를 사용

   아래 그림을 보면 val로 선언한 변수는 값을 바꿀수 없고
                       var로 선언한 변수는 값의 변경이 가능한 것을 확인 할 수 있다.

그림) val와 var의 차이

 

타입 추론(Type Inference)

  - 변수의 타입 선언을 생략하게 해주는 기능이다.

  - 위 그림과 같이 String, Int와 같이 타입을 명시하지 않아도 대입되는 값에 따라 타입을 자동으로 부여해준다.

그림) 타입 추론(Type Inference) 적용

  - 만약 타입 추론으로 인해 변수의 타입을 모르겠으면
    타입을 알고싶은 변수를 클릭하고 [Ctrl+Shift+P] 키를 누르면 IntelliJ가 알려준다.

 

컴파일 시점 상수

  - val는 읽기 전용이며, 변경할 수 없어 상수라고 생각할수 있겠지만 진정한 상수는 아니다

  - 초기화된 값을 절대로 변경하지 않는 변수의 경우 컴파일 시점 상수를 사용해야한다.

  - 컴파일 시점 상수는 모든 함수의 외부에 정의되어야 한다.

  - 컴파일 시점 상수는 내장타입만 선언이 가능하다 (Strnig, Int, Double, Float, Long, Short, Byte, Char, Boolean)

그림) 컴파일 시점 상수

 

Kotlin 타입

  - Kotlin은 자바와 달리 참조타입만 지원한다.

  - Int, Char, Byte등등 자바에서 기본 타입이였으면 가능한 Kotlin 컴파일러가 자동으로 기본 타입으로 컴파일 한다.
    (기본타입이 참조 타입에 비해 성능이 좋기때문)

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

[Kotlin] 생성자(Constructor)  (0) 2020.09.24
[Kotlin] 초기화 (init)  (0) 2020.09.24
[Kotlin] 연산자 오버로딩 (Operator Overloading)  (0) 2020.09.24
[Kotlin] 상속(Inheritance)  (0) 2020.09.24
[Kotlin] Getter & Setter  (0) 2020.09.24

관련글 더보기