티스토리 뷰

Backend

java와 코틀린 차이

뭉크테크 2026. 6. 25. 01:45

개요

이번 시간에는 자바와 코틀린 언어를 성능, 개발편의성, 활용 측면에서 소개해드리도록 하겠습니다.

 

성능

\

자바나 코틀린이나 컴파일 하면 자바 바이트 코드로 변환되고 그걸 jvm에 올려서 실행하는 단계에서는 성능상 그렇게 차이가 안 날 수는 있다. 다만, 결국 언어마다의 컴파일러가 다르기에 컴파일 단계에서는 성능상의 차이가 존재할 수 있다. 그리고 자바에서 코틀린 함수를 호출하는 것은 100퍼센트 가능하다고 장담할 수는 없으나, 코틀린에서 자바 코드를 호출하는 건 장담할 수 있다. 

 

개발 편의성

자바

상대적으로 코드가 길고, Getter/Setter 등 보일러플레이트(Boilerplate) 코드가 많다. 런타임 시 NullPointerException 발생 위험이 있다.

코틀린

문법이 매우 간결하다. 코틀린 공식 F&Q에 따르면 대락적인 추정으로 코드 줄 수가 약 40% 감소한다고 나온다. 타입 안정성도 뛰어나다. 예를 들어 null을 허용하지 않는 타입을지원하여 NPE(NullPointerException) 발생 가능성을 줄인다. 

https://kotlinlang.org/docs/faq.html#what-advantages-does-kotlin-give-me-over-the-java-programming-language

 

FAQ | Kotlin

 

kotlinlang.org

 

 

활용

 

  • 자바로 주로 쓰이는 개발은 백엔드 서버 코드 개발이다. 반면, 코틀린은 자바 기반으로 구축된 어플리케이션과 연동하여 함께 쓸 수 있으며,
  • 아니면 그냥 백엔드를 코틀린 언어로 작성해서 사용할 수 있으며, 심지어 코틀린 언어를 js로 target을 지정후 변환하여 웹 브라우저나 Nodejs 환경에서 그대로 실행할 수 있다. 이를 공식 명칭으로 Kotlin/JS라 부른다.
  • 그리고 안드로이드 개발에도 쓸 수 있으며,
  • 마지막으로 기존 전통적인 개발방식에서 쓰이던 html, css, js를 한 방에 코틀린 언어로 강타입 빌더 방식을 이용하여 하나의 파일을 만들 수 있다. 아래는 코틀린 예시 코드이다.(main.kt)
import kotlinx.browser.document
import kotlinx.browser.window
import kotlinx.html.*
import kotlinx.html.dom.append
import kotlinx.html.js.onClickFunction

fun main() {
    // 웹 브라우저가 열리면 문서의 <body> 태그 아래에 UI를 그려줍니다.
    document.body?.append?.div {
        
        // 1. CSS 스타일 작성 (오타가 나면 빨간줄로 알려줌)
        style = "display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; background-color: #f9f9f9; font-family: sans-serif;"
        
        // 2. HTML 태그 작성 (div 안에 h1, p, button 등을 구조적으로 배치)
        h1 {
            style = "color: #333; font-size: 32px;"
            +"Kotlin/JS 강타입 빌더 화면" // 화면에 보일 텍스트는 '+' 기호로 추가
        }
        
        p {
            style = "color: #666; margin-bottom: 20px;"
            +"HTML과 CSS, JS 로직이 하나의 코틀린 코드 안에 들어있습니다."
        }
        
        button {
            style = "padding: 10px 20px; background-color: #2962ff; color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: bold;"
            +"클릭해 보셈"
            
            // 3. JS 로직 작성 (버튼 클릭 시 동작할 이벤트)
            onClickFunction = {
                window.alert("오! 코틀린 코드가 자바스크립트로 변환돼서 실행됐습니다 ㅇㅇ!")
            }
        }
    }
}

 

https://www.zco.com/blog/why-you-should-use-kotlin-to-develop-your-android-app/

 

Why You Should Use Kotlin To Develop Your Android App

Why should you use Kotlin to develop your Android app? Find the answer to that question and more inside our post!

www.zco.com

 

'Backend' 카테고리의 다른 글

Observer Pattern  (0) 2026.08.03
Singleton Pattern  (0) 2026.08.03
Builder Pattern  (0) 2026.08.01
FactoryMethod Pattern  (0) 2026.07.30
UnitTest  (0) 2026.07.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함