코딩 (독학)/★ Kotlin

[코틀린 문법] 코틀린에서의 자료형 (Data type in Kotlin)

짱득이 2022. 3. 21. 14:35
300x250
반응형

😃 작업환경 😃

 

[코틀린 문법] 작업 환경 세팅

🐱‍🏍 Android Studio Version 🐱‍🏍 Project 설정 1. Projects - New Project - No Activity - Name / Minimum SDK 설정, Language는 Kotlin으로 설정 후 Finish 2. File - New - Scratch File - Kotlin (프..

timradder.tistory.com


🐱‍🏍 개념

Kotlin은 Java를 기반으로 만들어진 언어이므로, 빗대어 이해하고 넘어가자면, JAVA에서 자료형은 크게 기본 자료형(Primitive Data Type)과 참조 자료형(Reference Data Type)으로 나뉜다. 각각을 기본형, 참조형으로 줄여 부르기도 하며, 각각의 특징은 아래와 같다.

 

1. 기본형 (순수하게 값을 저장하는 자료형)

 => Java에서는 int, byte, boolean 등등이 해당

 

2. 참조형 (객체를 만들고, 변수에는 객체의 참조값을 저장하는 형태)

 => Java에서는 String, Array 등이 해당

 

그러나, 조금 더 발전하여 Kotlin의 자료형은 모두 참조형으로 동작하며, 모든 자료형이 객체 형태라고 생각하면 된다.

그러니까 Kotlin의 자료형에 대해 알아보자.

 

추가적으로 알고 넘어가야 할 것은, 코틀린에서는 자동으로 자료형을 명시하지 않아도 추론하는 '자동 형 추론'이라는

편리한 기능이 있다는 것이다. 아래 예시들을 참고해보자.

 

* 숫자 자료형

* 숫자를 나타내는 자료형
자료형 크기 값의 범위
Byte 1 Byte -2^7 ~ 2^7-1 (= -128~127)
Short 2 Byte -2^15 ~ 2^15-1 (= -32768 ~ 32767)
Int 4 Byte -2^31 ~ 2^31-1
Long 8 Byte -2^63 ~ 2^63-1
val byteNumber : Byte = 100 // val byteNumber는 Byte 자료형을 가짐
val shortNumber : Short = 20 // val shortNumber는 Short 자료형을 가짐

val intNumber : Int = 1	// val intNumber는 Int 자료형을 가지며, 형 추론에 의해 자료형 표기 생략 가능.
val longNumber : Long = 2L // val longNumber는 Long 자료형을 가지며, 형 추론에 의해 자료형 표기 생략 가능.

위와 같이 정수 Int 또는 Long은 표현 형식에 의해 자동 형 추론이 가능하므로 자료형 Int 또는 Long 표기를 생략할 수 있는 편리한 장점이 있다.

 

* 실수 자료형

* 실수를 나타내는 자료형
자료형 크기 값의 범위
Float 4 Byte 3.4E-38 ~ 3.4E+38
Double 8 Byte 1.79E-308 ~ 1.79E+308

실수 역시 정수 Int 또는 Long과 마찬가지로 자료형을 명시하지 않으면 Default로 Double 형으로 명시되기 때문에 주의하여 사용하여야 하며, 이런 경우 역시 형 추론에 의해 자료형 생략이 가능하다. Float형으로 지정하고 싶다면 값 뒤에 f를 추가로 붙여주어야 하며, f를 붙여주는 경우 역시 형 추론에 의해 자료형 생략이 가능하다.

val doubleNumber : Double = 3.2 // 실수 자료형 추론에 의해 Double 자료형 생략 가능
val floatNumber : Float = 3.2f // 실수 자료형 추론 및 f를 표기하였으므로 Float 자료형 생략 가능

 

* 논리 자료형 (참, 거짓)

val trueVALUE : Boolean = true
val falseVALUE : Boolean = false

논리 자료형 역시 형 추론에 의해 자료형 생략이 가능하며, 값은 true / false로 나타낸다.

논리 자료형인 Boolean Type은 주로 조건 검사등에 이용된다.

 

* 문자 자료형

val charType : Char = 'J' // 문자 자료형 추론에 의해 Char이므로, 자료형 생략 가능
val stringType : String = "My name is JJANG DEUK !" // 문자열 자료형 추론, String이므로 자료형 생략 가능

다른 언어와 마찬가지로 Kotlin에서 역시 Char 형은 작은 따옴표 ( ' ' )로, String 형은 큰 따옴표 ( " " )로 감싸 표현한다.

 

* 배열 자료형 (Array)

Kotlin에서의 배열을 만드는 방법은 arrayOf( ) 함수를 사용하며, [ ] 를 이용하여 배열 요소에 접근할 수 있다.

val arrayString : Array<String> = arrayOf("My", "Name", "JJANG", "DEUK")
val arrayInt = arrayOf(1, 2, 3, 4, 5) // 자료형 표기를 생략한 예제

// ! 주의 ! 배열은 0번지부터 시작.
println(arrayString[0]) // My가 출력
println(arrayInt[4]) // 5가 출력

 

* 명시적 형 변환

이미 지정된 자료형을 다른 자료형으로 '직접 지정'하여 변환 시키는것을 명시적 형 변환이라고 한다.

예를 들어 Int 형을 String 형식으로 변환시키거나, 또 다른 형으로 변환시키는 행위를 말한다.

val result : Int = 100 // Int형 상수 result에 100을 저장
val resultString = result.toString() // .toString()을 통해 result의 값을 String으로 변환하여 새로운 상수 resultString에 저장
val resultDouble = result.toDouble() // .toDouble()을 통해 result의 값을 Double로 변환하여 새로운 상수 resultDouble에 저장.

println(result) // Int형식으로 정수 100 출력
println(resultString) // String 형식으로 문자열 "100" 출력
println(resultDouble) // Double 형식으로 실수 100.0 출력
728x90
반응형