본문 바로가기

JAVA BASE/GenericsEnumsAnnotation6

06. [자바] 애너테이션(Annotation) 애너테이션? 애너테이션의 사전적 의미로는 주석, 주해, 메모이다 애너테이션은 추석 처럼 프로그래밍 언어에 영향을 미치지 않지만 다른 프로그램에게 유용한 정보를 제공하는 용도이다. 크게 두가지로 나눌수 있는데 표준 애너테이션과 메타 애너테이션이 있다. 표준 애너테이션 자바에서 기본적으로 제공하는 애너테이션이다. 애너테이션 설명 @Overrde 컴파일러에게 오버라이딩하는 메서드라는 것을 알린다. @Deprecated 앞으로 사용하지 않을 것을 권장하는 알림이 생긴다. @SuppressWarnings 컴파일러의 특정 경고메시지가 나타나지 않게 해준다. @SafeVarargs 제네릭스 타입의 가변인자에 사용한다. @FunctionalInterface 함수형 인터페이스라는 것을 알린다. @Native native.. 2021. 1. 11.
05. [자바] 열거형(enums) 열거형? 열거형은 서로 관련도니 상수를 편리하게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용하다. 열거형이 갖는 값뿐만 아니라 타입도 관리하기 때문에 보다 논리적인 오류를 줄일 수 있다. class Card { static final int CLOVER = 0; static final int HEART = 1; static final int DIAMOND = 2; static final int SPADE = 3; static final int TWO = 0; static final int THREE = 1; static final int FOUR = 2; } 위와 같은 코드를 에넘으로 관리하게 되면 아래와 같이 관리가 가능하다 class Card { enum Kind { CLOVER, HE.. 2021. 1. 8.
04. [자바] 제네릭 메서드 제네릭 메서드? 메서드의 선언부에 리턴타입으로 제네릭 타입이 선언된 메서드를 제네릭 메서드라 한다. static void sort(List list, Comparator 2021. 1. 8.
03. [자바] 제한된 제네릭스 클래스 T에 지정할 수 있는 타입의 종류를 제한 하는 방법 class Fruit{ ... } // Fruit 클래스 class Apple extends Fruit { ... } Fruit 클래스를 상속받아 만들어진 Apple 클래스 class Grape extends Fruit { ... } Fruit 클래스를 상속받아 만들어진 Grape 클래스 class Toy { ... } // Toy 클래스 class FruitBox { ArrayList list = new ArrayList(); void add(T item) { list.add(item); } T get(int i) { return list.get(i); } ArrayList getList() { return list; } int size() { reu.. 2021. 1. 8.