@Deprecated에서 느껴보는 Java 와 Kotlin의 가독성

글쓰기를 좋아해서인지 언제부터인가 코드를 작성할 때도 중요하다고 생각되는 것 중에 가장 먼저 떠오르는 건 '가독성'입니다. 그러다 보니 아직도 많이 미숙하지만 코드 한 줄을 작성할 때에도 많은 고민과 시간을 들이는 것 같습니다. 이전 글에서 @Deprecated 어노테이션을 코틀린에서 사용하는 형태를 보고 오랫동안 자바만을 사용하던 저로서는 꽤나 큰 충격으로 느껴졌습니다. "아니, 어떻게 이런 표현을 할 수가 있지?" 사용 중단을 의미하는 어노테이션인 '@Deprecated'에 대해 간단하게 자바와 코틀린에서 어떻게 표현하고 있는지 차이를 찾아보고 싶었습니다.


먼저 자바는 'since'라는 필드로 어느 버전부터 사용 중단인지를 명시하고 있고, 'forRemoval'이라는 필드로 다음 릴리즈때 삭제가 될지에 대한 유무를 표현하고 있습니다. 그래서 해당 어노테이션이 있는 필드나 메서드를 사용할 때면 javadoc을 통해 어떤 메서드를 사용해야 하는지 IDE에 팝업 레이어나 실제 메서드 안으로 들어가서 살펴봐야 했던, 약간은 불편함이 있던 것 같습니다.

https://www.baeldung.com/java-deprecated


코틀린은 조금 더 풍부한 필드를 제공하고 있습니다. 'message'라는 필수 작성 필드를 제공하여 사용 중단에 따른 전달(경고) 메시지를 작성하도록 하고 있고, 'level'이라는 필드로 로그 레벨에 따라 컴파일러에서 경고를 어떤 식으로 표현할지를 선택할 수 있습니다. 이는 사용하는 입장에서 조금 귀찮거나 성가시도록 알려주는 표현으로 느껴졌습니다. (아, 이제 사용 안되구나, 교체해야겠다는 생각이 들도록) 'replaceWith'라는 필드로 IDE에서 자동으로 대체되는 메서드로 적용할 수 있도록 하고 있어 손쉽게 교체도 가능하게 합니다. 필요하다면 대체 시 필요한 패키지 클래스를 임포트 가능하도록 'imports' 필드도 제공해서 자동으로 임포트 될 수 있게 해줍니다.

https://www.baeldung.com/kotlin/deprecation


코틀린에서의 '@Deprecated'의 사소한(?) 변화를 살펴봤지만 이를 사용하는 개발자로써는 꽤나 큰 효과가 있다는 걸 몸소 느낄 수 있었고, 한 줄의 코드를 작성하더라도 이러한 고민을 깊게 하고 작성해야겠다고 다시 한번 생각을 하게 된 좋은 계기로 기억될 것 같습니다.


https://polythematik.de/2020/03/19/deprecations

Deprecations in Java and Kotlin

Polythematik

Deprecations in Java and Kotlin

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 12월 4일 오후 11:07

댓글 0

    함께 읽은 게시물

    스몰 데이터(Pandas)에서 빅 데이터(Spark)로!

    ... 더 보기

     • 

    댓글 1 • 저장 29 • 조회 3,713


    🤔 API 키와 토큰의 차이

    ... 더 보기

    API keys vs tokens - what's the difference?

    Medium

    API keys vs tokens - what's the difference?

     • 

    저장 313 • 조회 9,883


    🛠 개발자 생산성 높여주는 무료 맥 앱 7가지

    M

    ... 더 보기

    개발자 생산성 높여주는 무료 맥 앱 7가지 | 요즘IT

    요즘IT

    개발자 생산성 높여주는 무료 맥 앱 7가지 | 요즘IT

     • 

    저장 60 • 조회 3,509


    React 면접 전 살펴보기 위한 Q&A 40가지 (2024년 ver)

    1. R

    ... 더 보기

    Top 40 ReactJS Interview Questions and Answers in 2024 | Simplilearn

    Simplilearn.com

    Top 40 ReactJS Interview Questions and Answers in 2024 | Simplilearn

     • 

    댓글 1 • 저장 218 • 조회 11,577


    이력서에서 소프트스킬을 어떻게 보여줄 수 있을까요?

    ... 더 보기

    LinkedIn Seulki Kang 페이지: 소프트스킬이 드러나는 이력서, 데이터분석가 도메인 분야

    www.linkedin.com

    LinkedIn Seulki Kang 페이지: 소프트스킬이 드러나는 이력서, 데이터분석가 도메인 분야

     • 

    저장 48 • 조회 5,898


    주니어 개발자들이 읽으면 좋은 테크 아티클 모음📚

    F-Lab 에서 주니어 개발자들이(사실 개발자라면 누구나) 보시면 좋을 아티클 모음을 공유해 주었네요! 검색엔진부터 비동기 처리, NoSQL 등 다양한 분야의 아티클들이 공유되어 있으니 관심있으신 분들은 보시면 좋겠습니다. F-Lab 에서 공유해주신 아티클 주제를 나열해보면 다음과 같습니다. 📌 구글이 직접 말하는 검색엔진의 원리 (tali.kr) 📌 검색 엔진은 어떻게 작동하는가 (xo.dev) 📌 네이버의 검색엔진의 특징과 알고리즘 (tistory.com) 📌 [네이버 블로그]네이버 검색의 원리 : 네이버 블... 더 보기

    주니어 개발자들이 읽으면 좋은 테크 아티클 모음

    F-Lab : 상위 1% 개발자들의 멘토링

    주니어 개발자들이 읽으면 좋은 테크 아티클 모음

     • 

    저장 142 • 조회 3,842