안드로이드/코틀린 개념

[코틀린/Kotlin] 코틀린 개념 정리 2 - 자료형과 변수

감자 바보 2022. 6. 3. 19:13
반응형

코틀린 개념 정리 2 - 자료형과 변수

 이번 게시글에서는 코틀린에서의 자료형과 변수에 대한 기본 개념을 정리할 것이다.

 

변수란?

 프로그래밍 언어에서 변수란 「값을 저장할 수 있는 저장공간」을 의미한다.

 

 코틀린에서 변수는 불변형(immutable) 그리고, 가변형(mutable) 두 가지 형태의 변수가 존재한다. 이 두 형태는 선언 키워드 val과 var를 사용하여 구분한다.

  1. 불변형(immutable) val : 변수 선언 시 초기화가 되어야 함. 초기화 이후 불변형 변수는 값을 변경할 수 없음
  2. 가변형(mutable) var : 변수의 값을 변경할 수 있음.

 

코틀린에서의 자료형

 자료형은 기본형 자료형과 참조형 자료형이 존재하며 코틀린은 참조형 자료형을 사용한다. 참조형으로 선언된 변수는 성능 최적화를 위해 컴파일러에서 기본형으로 다시 대체된다.

  1. 기본형 자료형
    • 프로그래밍 언어에 내장된 가공되지 않은 순수한 자료형 
    • ex) int, string, float, ...
  2. 참조형 자료형
    • 객체를 생성하고 동적 공간에 데이터를 저장하고 이를 참조하는 자료형
    • ex) Int, String, Float, ...

 정수 자료형

  • Long, ULong : 8 바이트
  • Int, UInt : 4 바이트
  • Short, UShort : 2바이트
  • Byte, UByte : 1바이트

 정수 접두사 : 0x => 16진수, 0b => 2진수

 정수 접미사 : 정수L => Long 형 추론, 정수u => UInt 형 추론, 정수uL => ULong 추론

 큰 수의 표현 : 자릿수 구분을 위효 정수 표현 시 _를 사용할 수 있음. ex) 백만 => val number =  1_000_000

 

 실수 자료형

  • Double : 8 바이트
  • Float : 4 바이트

 실수형 접미사 : 실수F => Float형 추론

 

 실수형 계산 시 주의점 

 부동 소수점의 부정확성으로 인해 계산 시 오차가 발생할 수 있다. 아래 코드 실행 시 100의 출력 값을 예상할 수 있지만 실질적인 계산 결과는 100.09999999999859으로 오차가 발생한다.

fun main() {
	var num = 0.1
    
    for (x in 0..999) 
    	num += 0.1
    println(num)
}

 

 논리 자료형 : Boolean, 크기 : 1비트 (true, false)

 문자 자료형 : Char, 크기 : 2바이트

 

 문자열 자료형 : String

 문자열 변수의 경우 변수가 가리키는 참조는 변경 가능 하지만 문자열 데이터의 값은 변경 불가능

str 1, 2, 3가 각각 다른 문자열일 경우 참조가 일치하지 않았지만, str3를 "AAA"로 변경한 경우 str3의 값이 아닌 참조가 변경되어 str1과 str3가 같은 참조인 것을 알 수 있다.

  ※ 문자열 내부에서 ${변수나 식} 표현식을 사용하여 문자열 내부에 변수나 식을 사용할 수 있다.

 

 

코틀린에서의 변수 선언

 코틀린에서 변수 선언은 아래 형식을 따른다.

 

선언 키워드(val, var) 변수 이름  :  자료형(Int, String, ...) =

 

 ex) val myName: String = "감자 바보"

 불변형 변수 val는 변수 선언과 동시에 위와 같이 값을 지정해주어야만 한다.


선언 키워드(val, var) 변수 이름 = 

 

 변수 선언과 동시에 값을 지정하는 경우는 자료형을 생략할 수 있다. 이 경우 값의 자료형의 따라 변수의 자료형이 정해진다.

 ex)  val myName = "감자 바보"


lateinit var 변수 이름  :  자료형(Int, String, ...)

...

자료형(Int, String, ...) = 값 

 

 가변형 변수는 lateinit 키워드를 사용할 경우 변수 이름과 자료형을 선언 시점 외에 다른 시점에서 값을 초기화할 수 있다.

 

참고

1. 위키백과 - 코틀린, 코틀린 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

코틀린 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전

코틀린(Kotlin)은 JVM에서 동작하는 크로스 플랫폼 오픈소스 프로그래밍 언어이다. 2011년 7월, 젯브레인사가 공개하였다. 파일 확장자는 .kt 또는 .kts를 사용한다. 코틀린은 2019년 5월 7일 이후로 구

ko.wikipedia.org

2. boostcourse - 코틀린 프로그래밍 기본 1 강의 (강사 : 황영덕), 코틀린 프로그래밍 기본 1 > 2-1 기본 자료형과 변수 선언방법 (1) 불변형, 기본형 : 부스트코스 (boostcourse.org)

 

코틀린 프로그래밍 기본 1

부스트코스 무료 강의

www.boostcourse.org

3. 코틀린 공식 사이트 - Basic syntax | Kotlin (kotlinlang.org)

 

Basic syntax | Kotlin

 

kotlinlang.org