프로그래밍

[테크 리뷰] 10분 테코톡 : 부나의 Java에서 Kotiln으로 본문

테크 리뷰

[테크 리뷰] 10분 테코톡 : 부나의 Java에서 Kotiln으로

시케 2023. 5. 22. 22:47
728x90
반응형

https://www.youtube.com/watch?v=eA8e18ddSms

10분 테코톡 : 부나의 Java에서 Kotiln으로

코틀린의 등장, 코틀린 코드와 자바 코드 비교를 통해 코틀린이 가지는 장점, 코틀린이 자바에서 상호운용이 가능한지 다루고 있다.

코틀린 JVM의 주된 내용이다

혜성처럼 등장한 Kotiln

코틀린은 IntelliJ의 회사인 JET Brains에서 출시된 언어이다

비교적 최근에 개발된 언어이지만 많은 주목을 받으며 꾸준히 사용되고 있다

 

그들의 관점에서 보았을때 유지보수가 힘들다고 생각했기 떄문에

좀 더 간결하고 가독성이 높으며 모던한 코드를 작성할 수 있는 언어를 원하게 되었다

단, 자사 제품의 70%가 자바로 이루어져 전면 교체하기엔 매우 큰 리스크를 가진 상황이었다

 

따라서 3가지에 초점이 맞춰져 개발되었다

  1. 속도 > 자바보다 빠른가?
  2. 상호운용성 > 자바와 상호운용되어 사용할 수 있는가?
  3. 간결성 > 코드를 구현하고 읽음에 있어 간결한가?

코틀린의 장점

1. 정적 타입 지정 언어

컴파일러가 코드를 검증하고 컴파일하기 때문에 런타임 오류를 줄일 수 있다

 

2. 타입 추론

변수 선언 시 타입을 작성하지 않아도 val, var 키워드만으로도 작성 가능하다

 

3. Null Safety

null을 다루는 방식이 명확하여 Null Safety를 보장한다

(안정성 증가한다)

또한 Elvis 연산자로 null일 경우의 디폴트 값을 지정할 수 있다

 

4. 간결하고 명확하다

코드를 이해하기 쉽고 명확하게 작성할 수 있다

예를 들면 SAM(Single Abstract Method)를 지원하여 인터페이스에 추상 메소드가 한 개를 가지고 있다면 람다의 형식으로 간결하게 변환할 수 있다

 

5. Coroutine

코틀린은 비동기적 코드를 쉽게 작성할 수 있도록 코루틴을 제공한다

(코틀린 고유의 개념은 아니다)

코루틴은 Thread에서 실행되는 단위이며 경량 스레드라고 불릴만큼 가볍고 비용이 저렴하다

하나의 스레드내에서 하나의 코루틴을 생성할 수 있다

기존의 자바는 CPU에서 하나의 스레드를 작동시키다가 다른 스레드를 동작시킨다

하지만 코루틴은 하나의 스레드내에서 이 일이 일어나기 때문에 코루틴 전환 비용이 저렴하다

Kotiln과 Java의 상호 운용

코틀린은 자바와 100% 상호운용 된다

코틀린 코드와 자바 코드 모두 각각 컴파일러를 통하게 되면 최종적으로 둘 다 *.class 파일이라는 바이너리 코드가 생성된다

이 바이너리 코드는 JVM class Loader가 가져가 실행시키면 코틀린이든 자바든 동일한 결과를 얻게 된다

 

느낀점

자바와 코틀린 모두를 사용하며 개발해보았어도 왜 굳이 이전까지 쓰던 언어인 자바를 코틀린으로 바꾸는건지 의문이 들었는데 확실히 코틀린의 개발 의도와 장점에 대한 알고 의문이 해결되었다

또한 어떻게 원래 자바로 채워진 시장을 코틀린이 점유할 수 있었는지 자바와 코틀린의 상호운용성에서 그 이유를 찾을 수 있었다.

 

 

 

 

 

 

728x90
반응형

'테크 리뷰' 카테고리의 다른 글

[테크 리뷰] 10분 테코톡 : 도기의 MVC 패턴  (0) 2023.06.05
Comments