프로그래밍 강좌/코틀린

코틀린이란? 특징, IntelliJ IDEA 설치와 첫 프로그램(main, println) | 코틀린 강좌 1강

IIRN 2026. 11. 10. 20:01
반응형
코틀린의 특징과 자바와의 관계를 정리하고, IntelliJ IDEA를 설치해 첫 코틀린 프로젝트를 만드는 과정을 단계별로 설명합니다. main 함수와 println, print로 화면에 글자를 출력하는 방법과 초보자가 자주 만나는 오류까지 함께 다룹니다.

이번 강에서는 코틀린이 어떤 언어인지, 자바와는 어떤 관계인지 살펴보고 IntelliJ IDEA를 설치해 첫 프로그램을 실행해 봐요. 모든 코틀린 프로그램은 main 함수에서 시작하고, 결과는 println으로 화면에 보여 줍니다.

이 두 가지만 익혀 두면 앞으로 43강 내내 배우는 모든 예제를 직접 실행하며 확인할 수 있어요.

코틀린이란?

코틀린(Kotlin)은 IntelliJ IDEA를 만든 회사인 JetBrains가 개발한 프로그래밍 언어예요. 2016년에 1.0 버전이 나왔고, 현재는 2.x 버전이 최신 안정 버전으로 쓰이고 있어요.

2017년 구글이 안드로이드 공식 지원 언어로 발표했고, 2019년부터는 안드로이드 개발에서 코틀린을 우선하는 'Kotlin-first' 방침을 밝혔어요. 그래서 요즘 안드로이드 앱 개발 자료는 대부분 코틀린으로 작성되어 있어요.

코틀린의 주요 특징

코틀린은 '실용적인 언어'를 목표로 만들어졌어요. 입문자 입장에서 체감할 수 있는 특징을 표로 정리하면 다음과 같아요.

특징 설명
간결함 같은 일을 하는 코드를 자바보다 훨씬 짧게 쓸 수 있어요. 문장 끝 세미콜론(;)도 필요 없어요.
안전성 값이 비어 있는 상태(null) 때문에 생기는 오류를 컴파일 단계에서 막아 주는 장치가 있어요.
자바와의 호환성 자바 코드와 한 프로젝트 안에서 섞어 쓸 수 있고, 자바 라이브러리를 그대로 가져다 쓸 수 있어요.
다양한 실행 환경 JVM(자바 가상 머신)뿐 아니라 안드로이드, 웹(JavaScript, Wasm), iOS 등 여러 플랫폼을 지원해요.
정적 타입 변수와 값의 타입이 컴파일할 때 정해져서, 실행 전에 많은 실수를 잡아 줘요.

null 안전성이나 타입 같은 개념은 지금 몰라도 괜찮아요. 뒤쪽 강에서 하나씩 자세히 다룹니다.

코틀린을 어디에 쓸까?

가장 대표적인 분야는 안드로이드 앱 개발이에요. 그 밖에도 스프링(Spring) 같은 프레임워크로 서버를 만들 때, 그리고 안드로이드와 iOS에서 코드를 공유하는 Kotlin Multiplatform 개발에도 널리 쓰여요.

자바와의 관계

코틀린은 자바를 대체하려고 처음부터 따로 만든 언어라기보다, 자바 생태계 위에서 '더 편하게' 쓰려고 만든 언어에 가까워요. 코틀린 코드를 컴파일하면 자바와 똑같은 형식의 바이트코드(.class 파일)가 만들어지고, 이것을 JVM이 실행해요.

자바 코드(.java)     ─ javac 컴파일 ─┐
                                     ├─▶ 바이트코드(.class) ─▶ JVM에서 실행
코틀린 코드(.kt)     ─ kotlinc 컴파일 ┘

결과물이 같기 때문에 코틀린에서 자바 클래스를 부르거나, 반대로 자바에서 코틀린 코드를 부르는 일이 자연스럽게 가능해요. 이미 자바로 만들어진 수많은 라이브러리를 코틀린에서 그대로 활용할 수 있다는 점이 큰 장점이에요.

자바와 코드 비교

화면에 인사말을 출력하는 가장 간단한 프로그램을 자바로 쓰면 다음과 같아요.

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, Kotlin!");
    }
}

똑같은 일을 코틀린으로 쓰면 이렇게 짧아져요.

fun main() {
    println("Hello, Kotlin!")
}

코틀린에서는 클래스로 감쌀 필요도, public static void 같은 수식어도, 세미콜론도 필요 없어요. 자바를 몰라도 코틀린을 배우는 데에는 전혀 문제가 없으니 걱정하지 않아도 돼요.

IntelliJ IDEA 설치하기

코틀린 코드를 작성하고 실행하려면 개발 도구가 필요해요. 코틀린을 만든 JetBrains의 IntelliJ IDEA가 코틀린을 가장 잘 지원하는 도구라서 이 강좌에서도 이것을 사용해요.

설치 순서

  1. JetBrains 공식 사이트(jetbrains.com/idea)에 접속해 IntelliJ IDEA를 내려받아요. 운영체제(Windows, macOS, Linux)에 맞는 파일이 자동으로 선택돼요.
  2. 유료 기능 없이 무료로 쓸 수 있는 버전으로도 이 강좌의 모든 내용을 실습할 수 있어요. 예전에 'Community Edition'으로 불리던 무료 버전이 이에 해당해요.
  3. 내려받은 설치 파일을 실행하고 안내에 따라 설치해요. 기본 설정 그대로 진행해도 충분해요.
  4. 설치가 끝나면 IntelliJ IDEA를 실행해요. 처음 실행할 때 테마나 플러그인을 묻는 화면이 나오면 기본값으로 넘어가도 돼요.

코틀린 플러그인은 IntelliJ IDEA에 기본으로 들어 있어서 따로 설치할 필요가 없어요.

첫 프로젝트 만들기

  1. 시작 화면에서 New Project를 눌러요.
  2. 왼쪽 목록에서 Kotlin을 선택하고, 프로젝트 이름(예: HelloKotlin)과 저장 위치를 정해요.
  3. Build system은 처음에는 IntelliJ를 고르면 가장 단순해요. 나중에 실무 프로젝트에서는 Gradle을 주로 쓰게 돼요.
  4. JDK 항목이 비어 있다면 드롭다운에서 Download JDK를 눌러 최신 LTS 버전을 내려받아요. 코틀린은 JVM에서 실행되므로 JDK가 꼭 필요해요.
  5. Create를 누르면 프로젝트가 만들어지고, src 폴더 안에 Main.kt 파일이 생겨요.

코틀린 소스 파일의 확장자는 .kt예요. 새 파일이 필요하면 src 폴더에서 마우스 오른쪽 버튼을 누르고 New → Kotlin Class/File을 선택한 뒤 File을 고르면 돼요.

실행하는 방법

fun main() 줄 왼쪽에 초록색 실행 버튼(▶)이 보여요. 이것을 누르고 Run을 선택하면 아래쪽 Run 창에 결과가 나타나요.

설치 없이 잠깐 맛만 보고 싶다면 웹 브라우저에서 바로 실행할 수 있는 Kotlin Playground(play.kotlinlang.org)를 써도 돼요. 다만 본격적으로 공부할 때는 IntelliJ IDEA를 쓰는 편이 훨씬 편해요.

main 함수: 프로그램의 시작점

코틀린 프로그램은 항상 main이라는 이름의 함수에서 실행을 시작해요. 프로그램을 실행하면 컴퓨터가 main을 찾아 그 안의 코드를 위에서 아래로 한 줄씩 실행해요.

fun main() {
    println("Hello, Kotlin!")
}

실행 결과

Hello, Kotlin!

각 부분의 의미는 다음과 같아요.

코드 의미
fun 함수(function)를 만든다는 뜻의 키워드예요.
main 함수 이름이에요. 프로그램의 시작점이라 반드시 이 이름이어야 해요.
() 함수가 받을 값을 적는 자리예요. 지금은 비워 둬요.
{ } 함수의 몸체예요. 실행할 코드를 이 안에 써요.

함수를 직접 만드는 방법은 뒤쪽 강에서 자세히 배워요. 지금은 '실행할 코드는 fun main() { }의 중괄호 안에 쓴다'는 것만 기억하면 충분해요.

args가 있는 main

오래된 자료에서는 main을 이렇게 쓴 코드도 볼 수 있어요.

fun main(args: Array<String>) {
    println("Hello, Kotlin!")
}

args는 프로그램을 실행할 때 바깥에서 전달하는 값을 받는 자리예요. 코틀린 1.3부터는 필요 없으면 생략할 수 있게 되어서, 요즘은 fun main()처럼 짧게 쓰는 것이 일반적이에요.

println과 print로 출력하기

println은 괄호 안의 내용을 화면에 출력하고 줄을 바꾸는 함수예요. 이름은 'print line'의 줄임말이에요.

여러 가지 값 출력하기

fun main() {
    println("코틀린 첫걸음")
    println(2026)
    println(3 + 4)
    println("3 + 4")
}

실행 결과

코틀린 첫걸음
2026
7
3 + 4

글자(문자열)는 큰따옴표(")로 감싸야 해요. 숫자는 따옴표 없이 그대로 쓸 수 있어요.

println(3 + 4)는 계산 결과인 7이 출력되지만, println("3 + 4")는 따옴표 안의 글자가 그대로 출력돼요. 따옴표 안에 들어가면 계산식이 아니라 그냥 글자로 취급된다는 점을 기억하세요.

연산자는 4강에서 자세히 다뤄요.

print와 println의 차이

print는 출력만 하고 줄을 바꾸지 않아요. 두 함수를 섞어 쓰면 차이가 잘 보여요.

fun main() {
    print("A")
    print("B")
    println("C")
    println()
    println("D")
}

실행 결과

ABC

D

print("A")와 print("B")는 줄을 바꾸지 않아서 A, B, C가 한 줄에 붙어 나와요. println("C")가 C를 출력한 뒤에야 줄이 바뀌어요.

괄호 안을 비운 println()은 아무것도 출력하지 않고 줄만 바꿔요. 그래서 ABC와 D 사이에 빈 줄이 하나 생겨요.

주석 달기

코드에 설명을 적어 두고 싶을 때는 주석을 써요. 주석은 실행에 아무 영향을 주지 않아요.

fun main() {
    // 한 줄 주석: 이 줄의 // 뒤는 실행되지 않아요
    println("주석 연습")

    /*
      여러 줄 주석:
      이 사이의 내용은 모두 무시돼요
    */
    println("끝")
}

실행 결과

주석 연습
끝

자주 하는 실수와 오류 메시지

처음 코틀린을 쓸 때 많이 마주치는 실수를 모아 봤어요. 오류 메시지는 IntelliJ IDEA나 코틀린 버전에 따라 문구가 조금 다를 수 있어요.

대소문자를 틀린 경우

코틀린은 대문자와 소문자를 구분해요. Println이나 Main처럼 쓰면 전혀 다른 이름이 돼요.

fun main() {
    Println("안녕") // 오류!
}
Unresolved reference 'Println'.

'Unresolved reference'는 '그런 이름을 찾을 수 없다'는 뜻이에요. 이 메시지를 보면 철자와 대소문자부터 확인하세요.

fun Main()처럼 쓰면 오류는 안 나도 시작점으로 인식되지 않아 실행 버튼이 나타나지 않아요.

작은따옴표로 문자열을 감싼 경우

파이썬이나 자바스크립트를 써 본 적이 있다면 '안녕'처럼 작은따옴표를 쓰기 쉬워요. 코틀린에서 작은따옴표는 글자 한 개(문자)만 담을 때 쓰기 때문에 오류가 나요.

fun main() {
    println('안녕') // 오류!
}
Too many characters in a character literal.

여러 글자로 된 문자열은 반드시 큰따옴표 "안녕"으로 감싸야 해요.

괄호나 따옴표를 닫지 않은 경우

println("안녕)처럼 따옴표를 닫지 않거나, main의 닫는 중괄호 }를 빠뜨리면 Expecting ')'나 Missing '}' 같은 오류가 나요. IntelliJ IDEA는 문제가 있는 곳에 빨간 밑줄을 그어 주니, 밑줄이 보이면 실행하기 전에 먼저 고치세요.

세미콜론은 쓰지 않아도 돼요

자바처럼 문장 끝에 ;를 붙여도 오류는 나지 않지만, 코틀린에서는 붙이지 않는 것이 관례예요. IntelliJ IDEA도 회색으로 표시하며 지워도 된다고 알려 줘요.

연습 문제

문제 1

아래처럼 세 줄로 자기소개를 출력하는 프로그램을 작성하세요. 이름과 목표는 자유롭게 바꿔도 돼요.

이름: 김코틀
목표: 안드로이드 앱 만들기
오늘 배운 것: main과 println

문제 2

print와 println을 함께 사용해서 다음과 똑같이 출력하세요. 단, "1 2 3"처럼 한 번에 출력하지 말고 숫자마다 따로 출력해야 해요.

1 2 3
끝

문제 3

다음 코드에는 오류가 세 군데 있어요. 모두 찾아 고쳐서 안녕, 코틀린이 출력되게 만드세요.

Fun main() {
    Println('안녕, 코틀린')
}

정답 예시

문제 1 정답

fun main() {
    println("이름: 김코틀")
    println("목표: 안드로이드 앱 만들기")
    println("오늘 배운 것: main과 println")
}

실행 결과

이름: 김코틀
목표: 안드로이드 앱 만들기
오늘 배운 것: main과 println

println은 출력 후 줄을 바꾸므로 세 번 호출하면 세 줄이 돼요.

문제 2 정답

fun main() {
    print("1 ")
    print("2 ")
    println("3")
    println("끝")
}

실행 결과

1 2 3
끝

print는 줄을 바꾸지 않으니 숫자 뒤에 공백을 직접 넣어 간격을 만들었어요. 마지막 3은 println으로 출력해서 그다음 끝이 새 줄에 나오게 했어요.

문제 3 정답

fun main() {
    println("안녕, 코틀린")
}

실행 결과

안녕, 코틀린

Fun은 소문자 fun으로, Println은 println으로 고쳐야 해요. 그리고 여러 글자로 된 문자열이므로 작은따옴표 대신 큰따옴표를 써야 해요.

핵심 정리

  • 코틀린은 JetBrains가 만든 언어로, 간결하고 안전하며 안드로이드 공식 우선 언어예요.
  • 코틀린 코드는 자바와 같은 바이트코드로 컴파일되어 JVM에서 실행되므로, 자바 코드·라이브러리와 함께 쓸 수 있어요.
  • 개발 도구는 IntelliJ IDEA를 사용하고, 프로젝트를 만들 때 JDK가 필요해요. 코틀린 파일 확장자는 .kt예요.
  • 프로그램은 fun main() { }에서 시작하고, 실행할 코드는 중괄호 안에 써요.
  • println은 출력 후 줄을 바꾸고, print는 줄을 바꾸지 않아요. println()은 빈 줄을 출력해요.
  • 문자열은 큰따옴표로 감싸고, 대소문자를 정확히 구분하며, 세미콜론은 쓰지 않는 것이 관례예요.
  • 주석은 //(한 줄)과 /* */(여러 줄)로 달아요.

강좌 이어 보기

반응형