본문 바로가기

어노테이션4

안드로이드 Annotation을 이용한 코드 생성(2) 안녕하세요. 지난 포스팅에 이어서 이번에는 Annotation을 이용한 코드생성을 진행해보겠습니다. 혹시나 안보셧다면 먼저 보고 이 글을 읽으시길 바랍니다. https://dog-footprint.tistory.com/49 안드로이드 Annotation을 이용한 코드 생성(1) 안녕하세요. 이번 포스팅에서는 Annotation을 이용한 코드 생성하는 방법을 알려드리겠습니다. 이전에 어노테이션과 관련된 포스팅을 한적이 있었는데 이것에 대한 연장선이라고 생각하시면 되겠 dog-footprint.tistory.com 일단 코드 생성을 위해선 몇가지 개념을 알아야 합니다. FileSpec : 코드생성 파일을 정의하는 클래스 TypeSpec : 파일생성시 어떤 타입의 파일을 정의하는 지에 대한 클래스(예를 들면 .. 2021. 8. 8.
안드로이드 Annotation을 이용한 코드 생성(1) 안녕하세요. 이번 포스팅에서는 Annotation을 이용한 코드 생성하는 방법을 알려드리겠습니다. 이전에 어노테이션과 관련된 포스팅을 한적이 있었는데 이것에 대한 연장선이라고 생각하시면 되겠습니다. https://dog-footprint.tistory.com/43 자바 어노테이션(2) - 리플렉션 안녕하세요. 이번 포스팅에서는 어노테이션이 리플렉션을 통해 어떻게 사용될 수 있는지 적어보려고 합니다. 리플렉션이란 클래스의 정보를 알아내는 것인데 런타임에 동적으로 클래스 정보를 dog-footprint.tistory.com 일단 안드로이드에서 코드 생성을 하기 위한 기본적인 구조로는 processor 모듈과 annotation 모듈을 생성해야 합니다. processor 모듈은 annotation에 대한 코드.. 2021. 8. 2.
자바 어노테이션(2) - 리플렉션 안녕하세요. 이번 포스팅에서는 어노테이션이 리플렉션을 통해 어떻게 사용될 수 있는지 적어보려고 합니다. 리플렉션이란 클래스의 정보를 알아내는 것인데 동적으로 클래스 정보를 얻을 수 있는 프로그래밍 방법입니다. 클래스만 알고 있다면 해당 클래스의 변수나 메소드 등을 알 수 있습니다. 이 리플렉션을 통해 클래스에 어떤 어노테이션이 적용 되었고 해당 어노테이션에 대한 정보 또한 알 수 있습니다. 코드는 코틀린 기준으로 작성되었으며 이를 기준으로 설명드리겠습니다. 일단 프로젝트에 코틀린에서 리플렉션을 사용하기 위한 라이브러리를 설치합니다. implementation "org.jetbrains.kotlin:kotlin-reflect:1.5.20" 어노테이션과 이를 적용할 data class를 선언하겠습니다. @k.. 2021. 6. 23.
자바 어노테이션(1) 안녕하세요. 이번 포스팅에서는 자바에서 사용되는 어노테이션에 대해 알아 보겠습니다. 1. 어노테이션 정의 어노테이션을 정의 할때 고려할 것은 크게 2가지로 볼수 있습니다. 첫번째는 어떤 대상에 어노테이션을 붙일것인가 인데 Class, Method, Field 등 적용할 대상을 정하는 것입니다. @Target 이라는 어노테이션을 사용하고 ElementType 이라는 열거형으로 정의할 수 있습니다. @Target({ElementType.[적용대상]}) ElementType (열거타입) 적용대상 TYPE 클래스, 인터페이스, 열거 타입 ANNOTATION_TYPE 어노테이션 FIELD 필드 CONSTRUCTOR 생성자 METHOD 메소드 LOCAL_VARIABLE 로컬 변수 PACKAGE 패키지 두번째는 어노.. 2021. 6. 18.