🚀 첫 Kotlin 프로젝트
📖 무엇을 만들까요?
이 가이드에서는:
- Hello World - 첫 Kotlin 프로그램
- 계산기 - 사용자 입력받기
- 간단한 게임 - 숫자 맞추기 게임
🎯 프로젝트 생성
IntelliJ IDEA에서 생성
1. IntelliJ IDEA 실행
2. New Project 클릭
3. Generators → Kotlin (또는 왼쪽에서 Kotlin 선택)
4. 설정:
Name: my-first-kotlin
Location: 원하는 위치
Build system: Gradle Kotlin
JDK: 17 또는 21
Gradle DSL: Kotlin
5. Create 클릭
6. Gradle 동기화 대기 (1-2분)
프로젝트 구조 확인
my-first-kotlin/
├── src/
│ └── main/
│ └── kotlin/
│ └── Main.kt ← 우리가 작성할 파일
└── build.gradle.kts
👋 Hello World
1. Main.kt 파일 열기
// src/main/kotlin/Main.kt
fun main() {
println("Hello World!")
}
2. 실행하기
방법 1: 재생 버튼 클릭
→ main 함수 왼쪽의 초록색 ▶ 버튼 클릭
방법 2: 단축키
→ Windows/Linux: Ctrl + Shift + F10
→ macOS: Ctrl + Shift + R
방법 3: 터미널
→ ./gradlew run
3. 결과
Hello World!
축하합니다! 첫 Kotlin 프로그램 실행 성공! 🎉
💬 이름 물어보기
조금 더 발전시켜봅시다:
fun main() {
println("안녕하세요!")
println("이름이 뭔가요?")
val name = readln() // 사용자 입력
println("반갑습니다, ${name}님!")
}
실행 결과
안녕하세요!
이름이 뭔가요?
홍길동 ← 입력
반갑습니다, 홍길동님!
🧮 간단한 계산기
두 수 더하기
fun main() {
println("=== 간단한 계산기 ===")
println("첫 번째 숫자를 입력하세요:")
val num1 = readln().toInt() // 문자열을 정수로 변환
println("두 번째 숫자를 입력하세요:")
val num2 = readln().toInt()
val sum = num1 + num2
println("$num1 + $num2 = $sum")
}
실행 결과
=== 간단한 계산기 ===
첫 번째 숫자를 입력하세요:
10 ← 입력
두 번째 숫자를 입력하세요:
20 ← 입력
10 + 20 = 30
사칙연산 추가
fun main() {
println("=== 계산기 ===")
println("첫 번째 숫자:")
val a = readln().toInt()
println("연산자 (+, -, *, /):")
val operator = readln()
println("두 번째 숫자:")
val b = readln().toInt()
val result = when (operator) {
"+" -> a + b
"-" -> a - b
"*" -> a * b
"/" -> a / b
else -> {
println("잘못된 연산자입니다")
return
}
}
println("$a $operator $b = $result")
}
실행 결과
=== 계산기 ===
첫 번째 숫자:
15 ← 입력
연산자 (+, -, *, /):
* ← 입력
두 번째 숫자:
3 ← 입력
15 * 3 = 45
🎮 숫자 맞추기 게임
조금 더 재미있는 프로그램을 만들어봅시다!
fun main() {
println("=== 숫자 맞추기 게임 ===")
println("1부터 100 사이의 숫자를 맞춰보세요!")
// 1부터 100 사이의 랜덤 숫자
val answer = (1..100).random()
var attempts = 0 // 시도 횟수
while (true) {
println("\n숫자를 입력하세요:")
val guess = readln().toInt()
attempts++
when {
guess < answer -> println("UP! 더 큰 숫자입니다.")
guess > answer -> println("DOWN! 더 작은 숫자입니다.")
else -> {
println("정답입니다! 🎉")
println("시도 횟수: $attempts")
break
}
}
}
}
게임 플레이
=== 숫자 맞추기 게임 ===
1부터 100 사이의 숫자를 맞춰보세요!
숫자를 입력하세요:
50 ← 입력
UP! 더 큰 숫자입니다.
숫자를 입력하세요:
75 ← 입력
DOWN! 더 작은 숫자입니다.
숫자를 입력하세요:
63 ← 입력
정답입니다! 🎉
시도 횟수: 3
📝 주석 달기
코드를 설명하는 주석:
fun main() {
// 한 줄 주석
println("Hello")
/*
* 여러 줄 주석
* 여러 줄에 걸쳐
* 설명을 작성
*/
println("World")
/**
* KDoc 주석 (문서화용)
* 함수나 클래스에 사용
*/
}
🔧 자주 하는 실수
1. readln() vs readLine()
// ❌ 잘못된 방법
val input = readLine() // Deprecated
// ✅ 올바른 방법
val input = readln()
2. 타입 변환 잊어버리기
// ❌ 오류 발생
val num = readln()
val result = num + 10 // String + Int는 불가능!
// ✅ 올바른 방법
val num = readln().toInt()
val result = num + 10
3. null 처리
// ❌ 오류 가능성
val num = readln().toInt() // 숫자가 아니면 에러!
// ✅ 안전한 방법
val input = readln()
val num = input.toIntOrNull() // 실패하면 null
if (num != null) {
println("숫자: $num")
} else {
println("숫자가 아닙니다!")
}
💡 실전 프로젝트: BMI 계산기
배운 것을 종합해서 BMI 계산기를 만들어봅시다:
fun main() {
println("=== BMI 계산기 ===")
// 키 입력
println("키를 입력하세요 (cm):")
val heightCm = readln().toDoubleOrNull()
if (heightCm == null) {
println("올바른 숫자를 입력해주세요!")
return
}
// 몸무게 입력
println("몸무게를 입력하세요 (kg):")
val weight = readln().toDoubleOrNull()
if (weight == null) {
println("올바른 숫자를 입력해주세요!")
return
}
// BMI 계산
val heightM = heightCm / 100
val bmi = weight / (heightM * heightM)
// 결과 출력
println("\n=== 결과 ===")
println("BMI: %.2f".format(bmi))
// BMI 평가
val evaluation = when {
bmi < 18.5 -> "저체중"
bmi < 23.0 -> "정상"
bmi < 25.0 -> "과체중"
bmi < 30.0 -> "비만"
else -> "고도비만"
}
println("평가: $evaluation")
}
실행 결과
=== BMI 계산기 ===
키를 입력하세요 (cm):
175 ← 입력
몸무게를 입력하세요 (kg):
70 ← 입력
=== 결과 ===
BMI: 22.86
평가: 정상
🎯 도전 과제
스스로 만들어보세요!
과제 1: 성적 계산기
세 과목의 점수를 입력받아
평균을 계산하고 학점(A~F)을 출력
힌트:
- 90점 이상: A
- 80점 이상: B
- 70점 이상: C
- 60점 이상: D
- 60점 미만: F
과제 2: 가위바위보 게임
컴퓨터와 가위바위보 게임
힌트:
- (1..3).random()으로 컴퓨터 선택
- 1: 가위, 2: 바위, 3: 보