목록Programing & Coding/JAVA (21)
S E P H ' S
Generic 다양한 타입의 객체들을 다루는 메소드나 컬렉션 클래스에서 사용하는 것으로, 컴파일 과정에서 타입체크를 해주는 기능입니다. 이러한 제네릭은 자바에서 안정성을 맡고 있습니다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줍니다. 자연스럽게 코드도 더욱 간결하게 작성할 수 있습니다. 예를 들면, Collection에 특정 객체만 추가될 수 있도록, 또는 특정한 클래스의 특징을 갖고 있는 경우에만 추가될 수 있도록 할 수 있습니다. 이로 인한 장점은 Collection 내부에서 들어온 값이 내가 원하는 값인지 별도의 로직처리를 구현할 필요가 없어집니다. 또한 API를 설계하는데에 있어서 보다 명확한 의사 전달이 가능해집니다. Generic의 생성방..
Annotation Annotation의 사전적 의미는 주석이란 뜻입니다. 인터페이스를 기반으로 한 문법이고 주석과는 역할이 다르지만 주석처럼 코드에 달아 클래스에 특별한 의미를 부여하거나 기능을 주입할 수 있습니다. Annotation에는 크게 세 가지 종류가 존재합니다. JDK에 내장되어 있는 built-in-annotation, Annotation에 대한 정보를 나타내기 위한 Meta annotation, 그리고 개발자가 직접 만들어내는 Custom Annotation이 있습니다. 문법으로서 Annotation의 역할 기존의 Java 웹 애플리케이션들은 구성과 설정값들을 외부의 XML 설정 파일에 명시하는 방법으로 프로그래밍 되었습니다. 변경될 수 있는 데이터들을 코드가 아닌 외부 설정 파일에 분리..
Stack, Queue 스택(Stack) 선형 자료구조의 일종으로 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO(Last In First Out) 구조입니다. 큐(Queue) 선형 자료구조의 일종으로 처음 저장한 데이터를 가장 먼저 꺼내는 FIFO(First In First Out) 구조입니다. Java에서 Stack 과 Queue의 구현 스택은 순차적으로 데이터를 추가하고 삭제하기 때문에 배열 기반인 ArrayList와 같은 컬렉션 클래스로 구현하는 것이 적합합니다. 큐는 데이터를 꺼낼 때 항상 첫번째 데이터를 삭제하기 때문에 배열 기반의 컬렉션보다 데이터의 추가 삭제가 쉬운 LinkedList로 구현하는 것이 적합합니다. Stack 메소드 메소드 설명 boolean empty() Stack이 비..
Collection Java Collection 에는 List, Set, Map, Stack, Queue 등의 인터페이스를 기준으로 여러 구현체가 존재합니다. Collection을 사용하는 이유는 다수의 데이터를 다루는데 표준화된 클래스들을 제공해서 데이터 구조를 직접 구현하지 않고도 편하게 사용할 수 있기 때문입니다. 또한 배열과는 다르게 객체를 보관하기 위한 공간을 미리 정하지 않아도 되기 때문에 상황에 따라 객체의 수를 동적으로 정할 수 있습니다. 이로써 프로그램의 공간적 효율성을 높일 수 있습니다. Collection 인터페이스가 Iterable 인터페이스를 상속하는 이유 Iterable 인터페이스 안에는 iterator 메소드가 추상 메소드로 선언 되어 있습니다. Iterable의 역할은 하위 ..