java 39

애노테이션을 정의하는 방법과 메타 애노테이션의 종류

해당 글은 자바에서 애노테이션을 정의하는 방법과 기본적으로 제공하는 애노테이션들 중 메타 애노테이션에 대해 다루는 글로, 자바에서 사용되는 애노테이션에 대한 기초 개념과 표준 애노테이션에 대해선 아래 글을 참고할 수 있다. Java의 애노테이션(Annotation) 기초 잠깐! 알쓸신잡, Annotation의 한글 표기법 : 애노테이션? 어노테이션? ※ TMI : Method → 메소드 X, 메서드 O 애노테이션이란? 애노테이션의 사전적인 뜻은 '주석'으로서 소스 코드의 동작에 직접적인 ikjo.tistory.com 애노테이션을 정의하는 방법 앞서 애노테이션 기초를 다룰 때에는 단순히 자바에서 기본적으로 제공하는 표준 애노테이션을 사용하는 방법에 대해서만 다루었는데, 이번에는 애노테이션을 직접 정의하는 ..

Technology/Java 2022.10.11

Java의 애노테이션(Annotation) 기초

잠깐! 알쓸신잡, Annotation의 한글 표기법 : 애노테이션? 어노테이션? ※ TMI : Method → 메소드 X, 메서드 O 애노테이션이란? 애노테이션의 사전적인 뜻은 '주석'으로서 소스 코드의 동작에 직접적인 영향을 주지 않으면서, 메타데이터(metadata)의 한 형태로서 프로그램에 대한 정보를 제공하는데 사용된다. 이때 애노테이션은 다른 프로그램을 위한 정보로서 해당 프로그램에 미리 정의된 종류와 형식으로 작성된다. Annotation vs Comment 앞서 애노테이션의 사전적인 뜻은 '주석'이라고 언급했는데, 참고로 일반적으로 우리들에게 '주석'이라고 하면 // ~ 또는 /* ~ */ 와 같이 소스 코드에 대한 부연 설명을 나타내는 것(컴파일러는 이를 무시한다.)을 떠올릴 수 있다. 사..

Technology/Java 2022.10.09

@SafeVarargs 언제 사용할까?

Java 5, 제네릭(generic)와 가변인자(varargs)의 등장 Java 5부터는 제네릭(Generic)과 함께 가변인자(Variable arguments, varargs라고도 함)가 등장했다. 기존 메서드의 매개변수 개수는 고정적이었지만, 가변인자 덕에 동적으로 지정할 수 있게 되었는데, 가변인자는 내부적으로 배열을 이용하므로, 가변인자가 선언된 메서드가 호출될 때마다 새로운 배열이 생성된다. 이때 매개변수로 가변인자가 선언된 메서드는 매개변수로 배열이 선언된 메서드와 달리 인자를 생략할 수 있다는 차이가 있다. 제네릭과 가변인자 혼용 사용 시 발생할 수 있는 문제점 그렇다면 제네릭과 가변인자를 함께 활용하여 아래와 같이 List이라는 매개변수화 타입(parameterized type)의 가변인..

Technology/Java 2022.10.09

Java의 Enum에 대해 알아보자!

Enum이란? Enum은 '열거'라는 뜻을 가지는 enumeration의 약어인데, 자바에서는 JDK1.5부터 Enum Type(이하 '열거형')이라는 특수한 자료형(data type)을 제공한다. 열거형은 특정 변수가 사전에 정의된 상수들의 집합에 속하도록 해주므로, 해당 변수의 값은 사전에 열거형을 통해 정의된 값들 중 하나여야만 한다. 예를 들면, 요일의 경우 '월, 화, 수, 목, 금, 토, 일'로서 단 7개만 존재하므로 열거형 사용을 고려해볼 수 있다. enum 정의하는 방법 enum 키워드를 이용함으로써 다음과 같이 열거형을 정의해볼 수 있다. 단순히 중괄호 { } 안에 상수의 이름을 나열하기만 했다. public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDA..

Technology/Java 2022.10.02

Java의 멀티 스레드(Multi-Thread) 프로그래밍에 대해 알아보자!

개인적으로 자바의 멀티 스레드 프로그래밍 학습에 앞서 적어도 프로세스와 스레드의 차이 그리고 멀티 태스킹과 멀티 스레드의 차이에 대해선 제대로 알고 넘어가야겠다는 생각이 들었다. 이에 대한 내용은 다음을 참고할 수 있다. 프로세스 vs 스레드 그리고 멀티 태스킹 vs 멀티 스레드 프로세스와 스레드 자바 스터디의 일환으로 자바의 멀티 스레드 프로그래밍을 학습하던 중 이를 다루기 위해서는 앞서 프로세스와 스레드의 차이 그리고 더 나아가서 멀티 태스킹과 멀티 스레 ikjo.tistory.com 스레드의 구현 방법 자바에서 스레드를 구현하는 방법은 Thread 클래스를 상속받는 방법과 Runnable 인터페이스를 구현하는 방법이 있다. Thread 클래스를 상속받는 방법 먼저 Thread 클래스를 상속받아 스레..

Technology/Java 2022.09.25