아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
편안한게논295
편안한게논29520.06.23

자바네 비해 코틀린의 장점은 무엇인가요?

코틀린 장점이 궁금합니다

자바언어보다 코틀린 언어가 좋은점이 많다고 하는데 장점이 궁금합니다 . 또 코틀린으로 앱과 웹사이트 전부 만들수 있나요?

그리고 공부하기 위해 좋은 사이트나 책이 있으면 추천해주세요.

55글자 더 채워주세요.
답변의 개수2개의 답변이 있어요!
  • 코틀린은 구글이 채택한 안드로이드 공식 개발 언어 입니다.

    간단한 특징들을 살펴보면,

    • 안드로이드 스튜디오 개발사인 Jet Brains에서 2011년에 공개한 언어

    • JVM에서 구동되는 언어로 자바와 상호운용 가능

    • 자바를 완전히 대체할 수 있는 언어가 되는 것이 코틀린의 주목적

    많은 부분이 자바와 비슷하고 또 최근에 만들어진 언어이다 보니 자바에 비해 Null처리의 안정성, 코드의 간결함 등 장점이 있습니다.

    코틀린을 처음 접하시는 분이라면 아래 사이트의 강좌를 참고하세요.


  • 코틀린의 장점은 간결함, 안정성, 호환성을 내세우고 있습니다.

    첫번째 간결함은 자바코드에 비해 코드의 양을 줄일 수 있습니다.

    getter, setter, callback 등을 작성할때 발생하는 boilerplate 코드를 줄일 수 있습니다.

    물론 getter, setter 경우에는 자바에서도 서드파티 라이브러리(lombok)를 활용해 처리가능하지만 코틀린에서는 아래와 같이 data class로 선언만 하면 처리가능합니다.

    /* getters, setters, `equals()`, `hashCode()`, `toString()` and `copy()`를 한번에 생성 */ data class Customer(val name: String, val email: String, val company: String)

    두번째 NPE와 같은 오류를 컴파일 시점에서 미리 방지해줍니다.

    null이 될수 없는 필드를 추적하여 NullPointException이 발생할 수 있는 연산을 하려고할때 컴파일 오류가 발생합니다.

    is 와같은 타입검사 시 자동으로 오토캐스팅을 해 ClassCastingException을 방지합니다.

    var output: String output = null // null을 허용하지 않았기때문에 컴파일 에러 발생 // null일 수 있는 필드를 연산하는 경우 컴파일 에러 발생 val name: String? = null // null이 될 수 있는 필드 println(name.length()) // 컴파일 에러 // 타입체크 시 컴파일러가 자동으로 캐스팅 처리를 해줌 fun calculateTotal(obj: Any) { if (obj is Invoice) obj.calculateTotal() }

    세번째 기존자바코드와의 상호운영(호환성)이 가능합니다.

    자바로 작성된 메소드를 호출하거나 클래스를 상속, 확장 인터페이스를 구현할 수 있습니다.

    기존 자바라이브러리를 활용 해 점진적으로 코틀린으로 전활 할 수 있게 합니다.

    코틀린은 안드로이드 개발언어로 사용되고 있기 때문에 앱개발이 가능합니다.

    그리고 코틀린으로 spring, 웹서버등 백엔드 개발과 kotlin js를 이용한 프론트엔드 개발도 가능합니다.