Kotlin 코딩테스트 문법 시리즈 ① : 기본 자료형 & 변수

2025. 7. 1. 00:20·Code Odyssey

✅ 이 시리즈는 다른 언어(Java, Python 등)를 아는 사람이 Kotlin 문법을 빠르게 익히기 위한 정리 문서 입니다.


🔹 Kotlin 변수 선언

구분 키워드 설명
불변 변수 val 값 변경 불가 (final과 유사)
가변 변수 var 값 변경 가능 (일반 변수)
val a: Int = 10      // 불변 정수
var b: Int = 20      // 가변 정수
b = 30               // ✅ 가능
a = 50               // ❌ 오류 (val은 재할당 불가)
  • 코딩테스트에서는 var를 주로 사용 (값 갱신이 필요하므로)

🔹 기본 자료형 목록

자료형 설명 예시 초기값 범위
Int 32비트 정수 var x: Int = 10 0 -2,147,483,648 ~ 2,147,483,647
Long 64비트 정수 var y: Long = 10000000000L 0L -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
Float 32비트 실수 var f: Float = 3.14f 0.0f 67 자리 정밀도, ±3.4e38
Double 64비트 실수 var pi: Double = 3.14 0.0 1517 자리 정밀도, ±1.7e308
Boolean 논리형 var flag: Boolean = true false true / false
Char 문자 var c: Char = 'A' '�' Unicode 문자 하나
String 문자열 var s: String = "Hello" "" 무제한 길이 문자열
  • 주의: Kotlin은 Byte, Short, Float도 지원하지만, 거의 쓰지 않으므로 생략 가능.

🔹 타입 추론

Kotlin은 타입을 생략해도 자동으로 추론할 수 있습니다.

val x = 42           // Int로 추론
val name = "Kotlin"  // String으로 추론

단, 초기값이 없을 경우 반드시 타입 명시가 필요합니다.

var score: Int       // 초기화 없이 선언 시 타입 필요
score = 100

🔹 null 가능 변수와 안전 처리

Kotlin은 기본적으로 null 허용이 금지되어 있습니다.
nullable 변수는 ?를 사용해 선언합니다.

var name: String? = null   // null 허용
name = "Alice"

null 처리 방식:

println(name?.length)       // null-safe 호출
println(name ?: "Unknown") // null이면 대체값 반환
println(name!!.length)      // null 아님을 보장 (null이면 런타임 에러)

🔹 변수 출력 예시

val age: Int = 25
val name: String = "John"

println("$name is $age years old")
println("Sum: ${3 + 4}")

문자열 안에서 변수 또는 식을 출력할 수 있으며 ${} 사용 시 연산도 가능.


🔹 추가 실전 팁: 값 비교와 스코프

🔸 값 비교 vs 참조 비교

val a = 128
val b = 128

println(a == b)    // ✅ true: 값 비교 (Java의 equals())
println(a === b)   // ✅ true: 참조 비교 (Java의 ==). 기본형 캐싱 덕분에 true

val s1 = String(charArrayOf('h','i'))
val s2 = String(charArrayOf('h','i'))
println(s1 == s2)   // true: 값 비교
println(s1 === s2)  // false: 참조 다름
  • == : 값 비교 (Java의 .equals()와 동일)
  • === : 참조 비교 (Java의 ==와 동일)
  • 기본형(Int, Boolean 등)은 값이 같으면 참조도 같을 수 있음 (캐싱)

🔸 변수 스코프 예시

fun main() {
    val x = 10
    if (true) {
        val x = 20  // 블록 내 새로운 변수
        println(x)  // 20
    }
    println(x)      // 10
}
  • Kotlin은 블록 스코프를 지원
  • 같은 이름의 변수를 다른 스코프에서 새로 선언 가능

✅ 요약 정리

  • val (불변), var (가변) 구분에 유의
  • 타입 추론은 가능하지만 초기화 없으면 명시 필요
  • null은 기본 금지 → nullable 타입은 ? 필수
  • 문자열 보간: $변수, ${식}
  • 주요 자료형의 기본값과 범위 확인해둘 것

이제 Kotlin의 변수와 기본 타입에 대한 기초를 완벽하게 익혔습니다.
다음은 시리즈 ②: 문자열(String) 정리로 이어집니다.

'Code Odyssey' 카테고리의 다른 글

Kotlin 코딩테스트 문법 시리즈 ③ : 입출력 & 조건문 & 반복문 정리  (1) 2025.07.03
Kotlin 코딩테스트 문법 시리즈 ② : 문자열 (String)  (1) 2025.07.02
Map<String, Integer> dp 는 시간초과가 나는 이유 : 프로그래머스 - 사칙연산  (1) 2025.06.11
왜 Java는 length, length(), size()를 따로 써야 할까? – 통일 안 된 이유  (1) 2025.06.06
📌 Java에서 배열 정렬하기 - Arrays.sort()  (0) 2025.05.24
'Code Odyssey' 카테고리의 다른 글
  • Kotlin 코딩테스트 문법 시리즈 ③ : 입출력 & 조건문 & 반복문 정리
  • Kotlin 코딩테스트 문법 시리즈 ② : 문자열 (String)
  • Map<String, Integer> dp 는 시간초과가 나는 이유 : 프로그래머스 - 사칙연산
  • 왜 Java는 length, length(), size()를 따로 써야 할까? – 통일 안 된 이유
Celion
Celion
오늘도 평소처럼 화이팅!
  • Celion
    Orion Log
    Celion
  • 전체
    오늘
    어제
    • 전체 글 (144)
      • Uncompiled Thoughts (8)
        • 네이버 부스트캠프 10기 (5)
      • CS 기초부터 한 걸음씩 (34)
      • Code Odyssey (22)
      • Algorithm (77)
        • Coding Test Records (63)
      • Git (3)
      • reference (0)
  • 블로그 메뉴

    • 태그
    • 방명록
  • 태그

    greedy
    Level2
    코테
    백준
    문법정리
    알고리즘고득점kit
    boostcamp
    Kotlin
    시뮬레이션
    java
    Level3
    프로그래머스
  • 최근 글

  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
Celion
Kotlin 코딩테스트 문법 시리즈 ① : 기본 자료형 & 변수
상단으로

티스토리툴바