티스토리 뷰

728x90

 


자료형

1. 정수형

• 음수, 양수 모두 표현 가능

     - Byte : 1bytes (-128 ~ +127)

     - Short : 2bytes (-32,768 ~ +32,767)

     - Int : 4bytes (-2,147,483,648 ~ +2,147,483,647)

          - 기본적으로 가장 많이 사용하는 정수 자료형

     - Long : 8bytes (-2^63 ~ +2^63 - 1)

     -> Byte에서 Long으로 갈수록 표현할 수 있는 숫자의 범위가 넓다.

 

     * 1bytes -> 8bit

          - bit(비트) : 0 과 1 두 개를 표현할 수 있다.

          - 비트1, 비트2

               2    x    2    =    4

          - 비트1, 비트2, 비트3

               2    x    2    x    2    =    8

          - 1bytes = 8bit = 256개의 숫자 표현

 

• 양수만 표현

     - UByte (0 ~ 255)

     - UShort (0 ~ 65535)

     - UInt (0 ~ 4,294,967,296)

     - ULong (0 ~ 2^64 - 1)

 

* 자료형을 선택할 때는 가능한 작은 자료형을 선택하는 것이 좋다.

     - 앱의 크기, 성능 문제

     - but 요즘에는 하드웨어가 너무 좋아져서 별 차이가 없다.

     - 실제로 대부분 그냥 Int를 사용함.

 

2. 실수형

• Float : 4bytes

• Double: 8bytes

 

3. 논리형

• Boolean

• True(참), False(거짓)을 표현할 수 있다.

 

4. 문자형

• 한 글자를 표현할 수 있다.

     ex) 'A', '가', '5', '$'

 

5. 문자열형

• 여러 글자를 표현할 수 있다.

     ex) "안녕하세요.", "Hello", "A"

 

자료형 추론

1. 자료형 명시

• 자료형을 명시해주는 것이 좋다.

     - var/val 변수명: 자료형 = 값

     ex) var changeYes: Byte = 100

val INTEGER_BYTE: Byte = 10
val INTEGER_SHORT: Short = 10
val INTEGER_INT: Int = 10
val INTEGER_LONG: Long = 10

val REAL_FLOAT: Float = 10.0f // Float의 경우 할당하려는 값 뒤에 f를 붙여줘야 한다.
val REAL_DOUBLE: Double = 10.0 // Double은 상관 없다.

val BOOL_TRUE: Boolean = true
val BOOL_FALSE: Boolean = false

val TEXT_CHAR: Char = 'A'
val TEXT_CHAR2: Char = 'AA' // 오류 발생 : Char형은 문자가 반드시 하나만 들어가야 한다.

val TEXT_STRING: String = "안녕하세요"
val TEXT_STRING2: String = "A" // 한 글자도 상관없다.

• 명시한 자료형과 다른 자료형의 값을 넣으면 오류가 발생한다.

val INTEGER_BYTE_WRONG: Byte = 10000 // 오류 발생 : Byte 자료형이 표현할 수 있는 범위보다 큰 수
val INTEGER_BYTE_WRONG2: Byte = "안녕하세요" // 오류 발생 : 타입 미스매치 에러 발생

val TEXT_CHAR3: Char = "A" // 오류 발생 : 타입 미스매치 에러 발생

* 코틀린에서 10은 정수형, 10.0은 실수형으로 받아들인다.

val REAL_DUOBLE2: Double = 10 // 오류 발생 : 10은 정수형이므로 타입 미스매치 에러 발생

 

2. 자료형 생략

• 자료형을 생략할 경우 코틀린이 자료형을 추론한다.

     - 정수의 경우 코틀린은 기본적으로 Int로 추론한다.

     - 실수의 경우 코틀린은 기본적으로 Double로 추론한다.

val NUMBER1 = 10 // Int
val NUMBER2 = 10.0 // Double

 

3. 자료형 식별자

• 식별자를 사용하면 자료형 추론의 힌트가 될 수 있다.

     ex) var number1 = 100 // Int로 추론

            var number2 = 100L // Long으로 추론

            var number3 = 0x100 // 16진수 Int형으로 추론

            var number4 = 200u // UByte로 추론

 

* 식별자를 사용하여 추론 힌트를 주는 것보다는 자료형을 명시하는 것이 더 좋다.

 

참고

• 큰 숫자를 할당할 때 _로 자리수 구분을 할 수 있다.

     - 어디서 나누는 지는 자유롭다.

     ex) var bigNumber1: Int = 1_039_672_340

            var bigNumber2 : Int = 103_9672_340

 

• 변수명 네이밍할 땐 이미 코틀린에서 사용중인 키워드를 사용할 수 없다.

     ex) val true: Boolean = true // 오류 발생

 

• Any / Any?

     - Any : 모든 non-null 타입의 조상 (Int, Short, ...)

     - Any? : 모든 nullable 타입의 조상 (Int?, Short?, ...) 

 

 

 

 

 

 

 

이 글은

패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online

강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.

 


728x90

'📱 Android > 💻 Kotlin' 카테고리의 다른 글

[Android/Kotlin] 6. 흐름 제어  (1) 2022.10.04
[Android/Kotlin] 5. 함수  (0) 2022.10.04
[Android/Kotlin] 4. 연산자  (1) 2022.09.30
[Android/Kotlin] 3. Null  (1) 2022.09.30
[Android/Kotlin] 1. 변수  (0) 2022.09.29
댓글
공지사항