Kotlin과 같은 등급은 Java인가 Spring인가?
Kotlin과 같은 프로그래밍 언어는 Java 입니다.
Spring은 프레임워크로 웹 애플리케이션을 개발하기 쉽게 도와주는 도구입니다.
| 항목 | 성격/역할 | 예 |
| Java | 프로그래밍 언어 | C++, Python 같은 언어 |
| Kotlin | 프로그래밍 언어 | Java의 대안 또는 JVM 기반 언어 |
| Spring | 프레임워크 | 언어(Java 또는 Kotlin) 위에 올라가는 웹 개발 도구 |
Java와 Kotlin의 공통점
- JVM 기반 언어
- 강력한 도구와 라이브러리 공유
- 같은 개발 도구(IDE) 사용 가능
- 예: IntelliJ IDEA, Android Studio 등
- 동일한 Java 라이브러리 사용 가능
- Kotlin에서도 Java의 라이브러리나 프레임워크(Spring 등)를 그대로 사용할 수 있음
- 같은 개발 도구(IDE) 사용 가능
- 상호운용성 (Interoperability)
- Kotlin과 Java 코드를 서로 호출하고 혼용할 수 있음
- 예: Kotlin 클래스에서 Java 클래스를 불러오거나, 그 반대도 가능
Java와 Kotlin의 차이점
항목 Java Kotlin
| 문법 | 길고 반복적인 코드가 많음 | 간결하고 현대적인 문법 |
| Null 처리 | NullPointerException(NPE)에 취약 | 컴파일 타임에서 null 안전성 보장 (?, !! 등) |
| 함수형 프로그래밍 | 제한적 지원 | 고차 함수, 람다 등 함수형 완전 지원 |
| 데이터 클래스 | 직접 모든 메서드 구현해야 함 | data class 한 줄로 자동 생성 |
| 코루틴(비동기) | 기본 지원 없음 (Thread 위주) | **코루틴(Coroutines)**으로 간단하고 가벼운 비동기 처리 가능 |
| 확장 함수 | 없음 | fun 클래스명.함수명()으로 확장 가능 |
Java와 Kotlin의 장단점
| Java | Kotlin | |
| 장점 | 오랜 역사와 안정성 방대한 커뮤니티와 문서 라이브러리/프레임워크 다양함 기업용 시스템에 적합 |
문법이 간결해 생산성 ↑ Null 안정성으로 오류 ↓ 함수형/확장 함수 지원 코루틴으로 간단한 비동기 처리 |
| 단점 | 코드가 장황하고 반복적 NullPointerException 위험 최신 기능 도입이 느림 |
러닝 커브(Java 대비) 일부 빌드/컴파일 속도 느릴 수 있음 레거시 Java 프로젝트와 100% 호환은 아님(경우에 따라) |
'개발자 면접 노트' 카테고리의 다른 글
| HTTP 상태코드 (0) | 2025.06.25 |
|---|---|
| MVC 패턴 (0) | 2025.06.25 |
| Spring - 의존성 주입(DI)의 종류 (0) | 2025.06.25 |
| Spring - 의존성 주입(DI) (0) | 2025.06.25 |
| AJAX를 사용하는 이유 (1) | 2025.06.24 |