본문 바로가기

분류 전체보기

(127)
제네릭 메소드 제네릭 메소드 타입 피라미터를 가지고 있는 메소드. 타입 파라미터가 메소드 선언부에 정의 리턴 타입 앞에 기호 추가하고 타입 파라미터 정의 후 리턴 타입과 매개변수 타입에서 사용 출처, 이것이 자바다 타입 파라미터 T는 매개값의 타입에 따라 컴파일 과정에서 구체적인 타입으로 대체 출처, 이것이 자바다 package ch13.sec03.exam01; public class Box { //필드 private T t; //Getter 메소드 public T get() { return t; } //Setter 메소드 public void set(T t) { this.t = t; } } package ch13.sec03.exam01; public class GenericExample { //제네릭 메소드 ..
제네릭 타입 제네릭 타입 결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스 선언부에 ‘’ 부호가 붙고 그 사이에 타입 파라미터들이 위치 출처, 이것이 자바다 타입 파라미터는 일반적으로 대문자 알파벳 한 글자로 표현 외부에서 제네릭 타입을 사용하려면 타입 파라미터에 구체적인 타입을 지정. 지정하지 않으면 Object 타입이 암묵적으로 사용 package ch13.sec02.exam01; //제네릭 타입 public class Product { //필드 private K kind; //제품명 private M model; //모델명 //메소드 getter, setter public K getKind() { return this.kind; } public M getModel() { return this.mo..
제네릭이란? 제네릭 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타입으로 대체시키는 기능 (T)는 T가 타입 파라미터임을 뜻하는 기호. 타입이 필요한 자리에 T를 사용할 수 있음을 알려줌 출처, 이것이 자바다 package ch13.sec01; /* Generic(제네릭)이 적용된 클래스 : 타입 파리미터 T 적용대상 : T 필드, T 메소드(T 매개변수) 등 */ public class Box { public T content; //"안녕하세요" , 100 } package ch13.sec01; public class GenericExample { public static void main(String[] args) { //Box box1 = new Box(); Box box1 = ..
LIFO와 FIFO 컬렉션 후입선출과 선입선출 후입선출(LIFO): 나중에 넣은 객체가 먼저 빠져나가는 구조 선입선출(FIFO): 먼저 넣은 객체가 먼저 빠져나가는 구조 컬렉션 프레임워크는 LIFO 자료구조를 제공하는 스택 클래스와 FIFO 자료구조를 제공하는 큐 인터페이스를 제공 출처, 이것이 자바다 Stack Stack 클래스: LIFO 자료구조를 구현한 클래스 출처, 이것이 자바다 출처, 이것이 자바다 package ch15.sec06.exam01; public class Coin { private int value; public Coin(int value) { this.value = value; } //getter 메소드 public int getValue() { return value; } } package ch15.se..
검색 기능을 강화시킨 컬렉션 TreeSet 이진 트리를 기반으로 한 Set 컬렉션 여러 개의 노드가 트리 형태로 연결된 구조. 루트 노드에서 시작해 각 노드에 최대 2개의 노드를 연결할 수 있음 출처, 이것이 자바다 TreeSet에 객체를 저장하면 부모 노드의 객체와 비교해서 낮은 것은 왼쪽 자식 노드에, 높은 것은 오른쪽 자식 노드에 저장 출처, 이것이 자바다 TreeSet 컬렉션을 생성하는 방법 출처, 이것이 자바다 * Set 타입 변수에 대입해도 되지만 TreeSet 타입으로 대입한 이유는 검색 관련 메소드가 TreeSet에만 정의되어 있기 때문 출처, 이것이 자바다 package ch15.sec05.exam01; import java.util.NavigableSet; import java.util.TreeSet; /* 검색기..
Map 컬렉션 Map 컬렉션 키와 값으로 구성된 엔트리 객체를 저장 키는 중복 저장할 수 없지만 값은 중복 저장할 수 있음. 기존에 저장된 키와 동일한 키로 값을 저장하면 새로운 값으로 대치 출처, 이것이 자바다 출처, 이것이 자바다 HashMap 키로 사용할 객체가 hashCode() 메소드의 리턴값이 같고 equals() 메소드가 true를 리턴할 경우 동일 키로 보고 중복 저장을 허용하지 않음 출처, 이것이 자바다 출처, 이것이 자바다 package ch15.sec04.exam01; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; /* Ma..
Set 컬렉션 Set 컬렉션 Set 컬렉션은 저장 순서가 유지되지 않음 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있음(수학의 집합 개념) 출처, 이것이 자바다 출처, 이것이 자바다 HashSet 출처, 이것이 자바다 동등 객체를 중복 저장하지 않음 다른 객체라도 hashCode() 메소드의 리턴값이 같고, equals() 메소드가 true를 리턴하면 동일한 객체라고 판단하고 중복 저장하지 않음 출처, 이것이 자바다 package ch15.sec03.exam01; import java.util.HashSet; import java.util.Set; /* * Set 인터페이스 : 순서가 없다(주머니). 중복저장 불가능(중복체크). */ public class HashSetExample { public..
List 컬렉션 List 컬렉션 객체를 인덱스로 관리하기 때문에 객체를 저장하면 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있는 기능을 제공 출처, 이것이 자바다 ArrayList ArrayList에 객체를 추가하면 내부 배열에 객체가 저장되고 제한 없이 객체를 추가할 수 있음 출처, 이것이 자바다 객체의 번지를 저장. 동일한 객체를 중복 저장 시 동일한 번지가 저장. null 저장 가능 출처, 이것이 자바다 ArrayList 컬렉션에 객체를 추가 시 인덱스 0번부터 차례대로 저장 특정 인덱스의 객체를 제거하거나 삽입하면 전체가 앞/뒤로 1씩 당겨지거나 밀림 빈번한 객체 삭제와 삽입이 일어나는 곳에선 바람직하지 않음 출처, 이것이 자바다 package ch15.sec02.exam01; import java.ut..