Kotlin 철학과 특징

헨도·2026년 3월 22일

Kotlin

목록 보기
3/4
post-thumbnail

Kotlin 이란?

Kotlin은 JetBrains에서 만든 JVM 기반 언어로, 기존 Java를 대체하기 위해 등장한 더 간결하고 안전한 언어

"더 적은 코드로, 더 안전하게, 더 실용적으로 개발하자"


Kotlin 철학

Kotlin 은 단순한 문법 개선이 아니라 언어 자체의 철학이 명확한 언어

실용성 (Pragmatism)

  • 이미 검증된 기술을 적극적으로 사용
  • Java 개발자도 쉽게 적응 가능
  • 특정 패러다임 강요 X

"이론보다 실무"

간결성 (Conciseness)

  • 불필요한 boilerplate 코드 제거
  • getter / setter 자동 생성
  • 데이터 클래스 지원
// JAVA
class User {
	private String name;
    private int age;
}
// Kotlin

data class User (
	val name: String,
    val age: Int
)

"읽기 쉬운 코드 = 쉬운 유지보수"

안정성 (Safety)

  • 컴파일 시점에서 오류 최대한 차단
  • 대표적으로 NullPointerException 방지
var name: String = "Hendo"
//  name = null X -> 컴파일 에러

var nullableName: String? = null // 가능

"런타임 터지는 걸 미리 막자"

상호운용성 (Interperablilty)

  • Java 와 100% 호환
  • 기존 Java 라이브러리 그대로 사용 가능
val list = java.util.ArrayList<String>()

"Java 생태계 그대로 활용 가능"


Kotlin의 주요 특징

정적 타입 + 타입 추론

  • 컴파일 시 타입 체크 -> 안정성 ↑
  • 하지만 타입 생략 가능 -> 코드 간결
val name = "Hendo" // 자동으로 String 추론

"안정성과 생산성 둘 다 잡음"

Null Safety

  • Java 의 가장 큰 문제였던 NPE를 구조적으로 해결
val name: String? = null

println(name?.length) // null이면 그냥 null 반환
val length = name?.length ?:0

"null을 타입으로 관리"

객체지향 + 함수형 프로그래밍 지원

  • Kotlin은 하이브리드 언어
val numbers = listOf(1, 2, 3)

val result = numbers.map { it * 2 }
println(result) // [2, 4, 6]

함수형 프로그래밍이란?

"상태 변경을 최소화하고, 함수를 중심으로 코드를 작성하는 방식"

  • 데이터를 바꾸기보다 새로운 값을 만든다
  • 반복문 대신 함수 (map, filter 등)를 사용한다

특징

  • 람다
  • 고차함수 (함수를 파라미터로 받거나, 함수를 반환하는 함수)
  • 불변성 (데이터를 변경하지 않는다 ex. val, var)

"코드를 더 선언적으로 작성 가능"

데이터 클래스

data class User (
	val name: String,
    val age: Int
)

자동 생성

  • equals()
  • hashCode()
  • toString()
  • copy()

DTO 만들 때 신세계

코루틴 (비동기 처리)

기존 Thread보다 훨씬 가벼움

launch {
	delay(1000)
    println("Hello Coroutine")
}

"비동기 코드가 동기처럼 보인다"


Kotlin vs Java

항목JavaKotlin
코드 길이길다짧다
Null 처리런타임 에러컴파일 방지
함수형 지원제한적강력
생산성보통높음
상호운용성-Java 100% 호환

Kotlin 사용 이유

  • Java의 장황함
  • NullPointerException
  • 낮은 생산성

=> 해결하기 위한 언어

"안전하면서도 생산성 높은 실용적인 언어"

profile
Junior Backend Developer

0개의 댓글