본문 바로가기

코틀린10

코틀린에서 자주 사용하는 어노테이션(Annotation)@ 정리-3 이전 포스팅에서는 리플렉션을 사용한 어노테이션 정의를 알아봤습니다. 하지만, 리플렉션을 사용해 어노테이션을 만들 경우 다음과 같은 단점이 있습니다. 새로운 커스텀 어노테이션을 만들 때마다 복잡한 리플렉션 코드를 작성해야 한다. 그렇기 때문에 이번에는 Code Generation을 사용해서 커스텀 어노테이션을 만들어보겠습니다. 아래는 이전 포스팅입니다! 코틀린에서 자주 사용하는 어노테이션(Annotation)@ 정리-1 코틀린에서 자주 사용하는 어노테이션에 대해 알아본다 어노테이션은 메타데이터 ( 부가기능 )을 코드에 비침투적으로 추가할 수 있는 수단이다 코틀린에서 어노테이션(Annotation)의 종류 Kotlin에 android-developer.tistory.com 코틀린에서 자주 사용하는 어노테이션.. 2023. 4. 13.
코틀린에서 abstract 클래스는 무엇이고 어떻게 사용할까? 코틀린에서 abstract 키워드는 다음과 같은 특성을 갖습니다. 추상 클래스는 일반적인 클래스와는 달리 객체를 직접 생성할 수 없습니다. 추상 메서드는 구현이 없이 선언만 되어 있습니다. 그렇기 때문에 abstract는 다음과 같은 상황에서 주로 사용합니다. 추상 클래스나 추상 메서드를 정의할 때 사용됩니다. 추상 클래스 및 메서드 정의 예시 추상 클래스 및 메서드는 다음과 같이 상속을 통해서만 사용할 수 있습니다. // 추상 클래스 선언 abstract class Shape { // 추상 메소드 선언 abstract fun draw() } // Shape 클래스를 상속받는 하위 클래스 class Circle : Shape() { override fun draw() { println("원을 그립니다.".. 2023. 3. 30.
코틀린으로 알고리즘 문제 풀기 - 입력 받기 꿀팁 코틀린으로 알고리즘 문제 풀기 - 입력 받기 Sanner와 BufferedReader 비교 BufferedReader를 사용하여 여러 가지 입력값 받기 코딩으로 알고리즘 문제를 풀 때 가장 중요하고 기본적인 것은 입력 값을 받는 것입니다. 이번 블로그에서는 입력 값을 받는데 어떤 방법이 있고 어떤 방법이 제일 효과적인지 알아보겠습니다. Scanner VS BufferedReader Sanner를 사용했을 경우 다음과 같은 입력 값이 있을 때 abc 123 Scanner를 사용하면 다음과 같은 코드로 출력할 수 있습니다. fun main(args: Array) = with(Scanner(System.`in`)) { val name = next() val age = nextInt() // name: abc,.. 2023. 3. 23.
코틀린에서 자주 사용하는 어노테이션(Annotation)@ 정리-2 코틀린에서 자주 사용하는 어노테이션(Annotation)@ 정리-2 이번 포스팅에서는 저번 포스팅에 이어서 Annotation을 커스텀하는 방법을 알아보겠습니다. 코틀린에서 자주 사용하는 어노테이션(Annotation)@ 정리-1 코틀린에서 자주 사용하는 어노테이션에 대해 알아본다 어노테이션은 메타데이터 ( 부가기능 )을 코드에 비침투적으로 추가할 수 있는 수단이다 코틀린에서 어노테이션(Annotation)의 종류 Kotlin에 android-developer.tistory.com Reflection을 사용한 Custom Annotation 코틀린에서 어노테이션을 커스텀하기 위한 방법으로는 두 가지 방법이 있습니다. Reflection을 사용한 커스텀 Code Generation을 사용한 커스텀 먼저 R.. 2023. 3. 11.