[JAVA] 애너테이션(Annotation)
·
Java
애너테이션 애너테이션은 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공한다. 애너테이션의 등장 배경 기존에는 소스코드와 관련 문서를 따로 작성하여 소스코드 변경시 문서 내용도 변경해야 했지만 그러지 않는게 빈번하게 발생했다. 이로 인해 소스코드와 문서의 불일치 발생하여 소스코드에 주석을 넣어 문서와 소스코드를 합쳐 하나로 만들게 되었다. javadoc.exe 프로그램이 소스파일에서 주석을 추출해 문서를 작성 /** * The common interface extended by all annotation interfaces. Note that an * interface that manually extends this one does not define * an annotation in..
[JAVA] 열거형(enum)
·
Java
열거형(enum) 관련된 상수들을 같이 묶어 놓은 것, java는 타입에 안전한 열거형을 제공 C언어의 열거형은 값이 같은지만 체크 자바는 값과 타입 둘다 체크 열거형의 정의와 사용 enum 열거형 이름{ 상수명1, 상수명 2, ...} enum Direction { EAST, SOUTH, WEST, NORTH } 열거형 상수의 비교에 ==와 compareTo()를 사용가능, 비교연산자는 사용 불가 열거형의 조상 java.lang.Enum 클래스 모든 열거형은 Enum 클래스의 자손이며, 아래의 메서드를 상속받는다. values(), valueOf()는 컴파일러가 자동으로 추가한다. values() : 열거형의 모든 상수를 배열로 반환 값이 기본적으로 0, 1, 2, 3...으로 할당 되어 ordinal..
[JAVA] 제네릭(Generics)
·
Java
제네릭(Generics) 제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 이를 통해 객체별 다른 타입 데이터를 저장할 수 있게된다. 배열 선언시 [](배열 자료형) 앞에 저장할 자료형의 타입을 저장하는 것과 같이 순서만 다를 뿐 자료형과 (꺾쇠 괄호) 안에 타입을 기재하여 사용한다. 제네릭 예시 : ArrayList list = new ArrayList boolean add(Product e) { .. } list.add(new Product()); list.add(new Box());// Product의 자손이기 때문에 가능하다 복수 타입 변수 타입 지정은 한개만 사용할 수 있는것이 아니다. 만약 여러개의 타입 지정이 필요할 경우 얼마든지 생성이 가능하다. 타입 변수를..
[JAVA] Collections 클래스
·
Java
Collections 클래스 Collections 클래스는 컬렉션을 위한 메서드(static)를 제공한다. 1. 컬렉션 채우기, 복사, 정렬, 검색 - fill(), copy(), sort(), binarySearch() 등 메서드 제공 // entrySet()을 이욥해 map에 저장된 데이터를 불러오는 예시 public static void main(String[] args) { List list = new ArrayList(); // import static java.util.Collections.*; // Collection. 을 생략이 가능해진다. addAll(list, 1,2,3,4,5,6); rotate(list, 2);// 반시계 반얗(오른쪽)으로 회전 swap(list, 0, 2);// 0..
[JAVA] Map 인터페이스
·
Java
Map인터페이스 Map인터페이스는 Collection 인터페이스와 다른 저장방식을 가진다. Map인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식을 사용한다. 요소의 저장순서를 유지하지 않으며 키는 중복을 허용하지 않지만 값의 중복은 허용한다. Map인터페이스를 구현한 대표적인 컬렉션 클래스 HashMap Hashtable * Hashtable와 HashMap은 거의 같지만 Hashtable은 동기화가 되어있고 HashMap은 동기화가 되어있지 않다는 차이가 있다. * 순서를 유지할 필요가 있다면 LinkedHashMap TreeMap * TreeSet과 마찬가지로 이진 탐색 트리구현 * LinkedHashMap은 순서를 추가한 HahsMap을 말한다. Map 인터페이스..
[JAVA] Set 인터페이스
·
Java
Set 인터페이스 Set은 순서가 없고 중복을 허용하지 않는 집합을 의미한다. 데이터를 중복해서 저장할 수 없으며 입력 순서대로 저장 순서를 보장하지 않는다.List를 구현한 클래스들은 index로 관리하기 때문에 add()를 통해 객체를 저장한다면 저장 순서대로 저장된다. Set은 입력받은 순서와 상관없이 데이터를 집합시키기 때문에 입력받은 순서를 보장하지 않는다. Set인터페이스를 구현한 대표적인 컬렉션 클래스 HashSet TreeSet LinkedHashSet *LinkedHashSet는 Set임에도 불구하고 입력 순서대로의 저장순서를 보장한다. 그러나 데이터 중복을 허용하지 않는 것은 같다. Set인터페이스의 메서드 Set는 Collection의 자손이기 때문에 Collection인터페이스의 메..
PP_D
'Java' 카테고리의 글 목록 (3 Page)