View

자료형이란?

제롱구리 2024. 2. 13. 19:42
728x90

자료형란 무엇일까?


자료형은 프로그램 언어에서 여러 종류의 데이터를 식별하는 분류를 말하며 크게 기본형 자료형과 참조형 자료형으로 나누게된다.
Kotlin 자료형에 대해 알아보자

기본형 자료형

기본형은 가공되지 않은 순수한 자료형을 말하여 프로그래밍 언어에 내장되어 있는 자료형이다.

  • 종류
    • 논리값: Boolean -> false (default)
    • 문자: char -> "\0" (default)
    • 정수: byte, short, int, long -> 0 (default)
    • 실수: float, double -> 0.0 (default)
  • 특징
    • 실제 값을 그대로 메모리에 할당
    • 메모리 크기 고정
    • null로 초기화 불가능, 기본값이 정해져 있음.
    • 스택에 값을 저장
      코틀린에서는 참조형만 사용된다고 하지만 실제로는 아니다. 코드를 쓸 때 모든 변수를 참조형(객체)로 사용하지만, 컴파일 과정에서 기본형으로 대체하기 때문에 코틀린의 경우 자료형을 고려하는 최적화를 신경쓰지 않아도 된다.(즉 컴파일러가 알아서 해준다.!!)

    val bool = true // 컴파일러가 알아서 boolean 형으로 추론
    val char1 = 'C' // 컴파일러가 알아서 char 형으로 추론
    val a = 123 // Int형으로 추론
    val b = 123L // 접미사 L을 이용하여 long형으로 추론
    val c = 0x1F // 접두사 0x 를 사용해 16진법 표기가 사용된 int 형으로 추론
    val d = 0b00101010 // 접두사 0b 를 이용하여 2진 표기가 사용된 int 형으로 추론
    val float1 = 1.23e-2F // 접미사 F를 이용하여 float형 으로 추론

참조형 자료형

기본 자료형을 제외한 자료형으로 객체를 생성하고 동적 메모리 영역에 데이터를 둔 다음 참조한 자료형을 말하다.

  • 특징
    • 스택에 참조 주소를 저장
    • null로 초기화 가능
    • 참조 주소 위치에 해당하는 곳(힙)에 실제 객체 저장
      대표적으로 문자열형인 String을 생각하면 쉽게 이해될 것이다.

    val str = "Hello"
    val str2 = "World"
    val str3 = "Hello"

    println(str === str2) // false
    println(str === str3) // true

String 자료형은 변수에 Heap 영역에 존재하는 인스턴스의 주소를 가지고 있다. 참조 연산자(===) 를 통해 str 과 str3 를 계산해보면 true 를 반환한다. 이 의미는 두 변수가 같은 인스턴스의 주소를 가지는 것을 알 수 있다.

'TIL' 카테고리의 다른 글

이중 RecyclerView  (0) 2024.02.16
변수와 상수  (2) 2024.02.14
Convention란?  (0) 2024.02.13
IDE란 무엇인가?  (1) 2024.02.13
스타터 노트  (1) 2024.02.13
Share Link
reply
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30