변수와 상수
타입 | 설명 |
변수(Variable) | 값의 변경이 가능한 데이터 |
상수(Constant) | 값의 변경이 불가능한 데이터 |
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로 선언한 변수는 값의 변경이 가능한 것을 확인 할 수 있다.
타입 추론(Type Inference)
- 변수의 타입 선언을 생략하게 해주는 기능이다.
- 위 그림과 같이 String, Int와 같이 타입을 명시하지 않아도 대입되는 값에 따라 타입을 자동으로 부여해준다.
- 만약 타입 추론으로 인해 변수의 타입을 모르겠으면
타입을 알고싶은 변수를 클릭하고 [Ctrl+Shift+P] 키를 누르면 IntelliJ가 알려준다.
컴파일 시점 상수
- val는 읽기 전용이며, 변경할 수 없어 상수라고 생각할수 있겠지만 진정한 상수는 아니다
- 초기화된 값을 절대로 변경하지 않는 변수의 경우 컴파일 시점 상수를 사용해야한다.
- 컴파일 시점 상수는 모든 함수의 외부에 정의되어야 한다.
- 컴파일 시점 상수는 내장타입만 선언이 가능하다 (Strnig, Int, Double, Float, Long, Short, Byte, Char, Boolean)
Kotlin 타입
- Kotlin은 자바와 달리 참조타입만 지원한다.
- Int, Char, Byte등등 자바에서 기본 타입이였으면 가능한 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 |