Class 클래스
Class.forName()메서드로 동적 로딩(Dynamic Loding)하기
클래스명을 변수로 지정해 놓고 실행 시 해당 변수에 대입된 클래스가 실행될 수 있도록하는
Class에서 제공하는 Static메서드
어떤 클래스를 사용할 지 모를때 주로 사용하며 모든 클래스를 다 올리지 않고 필요할 때 꺼내쓸 수 있다는 장점이있다.
ex)
String className = "classex.Person"
Class pClass = Class.forName(className);
java.util 패키지(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/package-summary.html)
Java Collections Framework : 객체들을 모아서 저장하는 공간
말 그대로 프레임이라는 틀 안에서 작업하고 방식은 interface에 명시
꼭 기억할 것
List : 저장되는 순서 유지(인덱스), 중복 값o, 크기 고정x
Set : 저장되는 순서 유지x, 중복 값x
Map : key-value, 한쌍(entry)으로 저장하고 key를 이용해 연결된 value를 가져온다.
저장되는 순서 유지x, key 중복x, value 중복o
제네릭<타입>
컬렉션에 저장되는 데이터 타입을 지정할 때 사용.
기본형 타입은 사용 불가, 참조형 타입만 사용 가능.
List<String> list = new ArrayList<String>();
List<String> list = new ArrayList<>(); //오른쪽<타입>은 <>로 대체 가능하다.
이렇게 지정하면 list에는 String타입만 저장 가능하다.
list.get(0);
당연히 가져올 때 따로 보지 않아도 String타입만 나온다.
제네릭을 꼭 지정하지 않아도 선언할 수 있지만 객체라면 타입과 상관없이 다 저장되기 때문에
가져올 때 타입맞추려면 instanceOf를 계속 사용해줘야한다.
타입 종류
E : element 컬렉션 안에 저장될 요소의 타입 지정
K : key 의 타입 지정
V : value 의 타입 지정
T : type (static 타입 불가)
제네릭 와일드카드
<?> : 제한 없음
<? extends T> : T와 그 sub를 구현한 객체들
<? super T> : T오 그 super를 구현한 객체들
'JAVA' 카테고리의 다른 글
Java 날짜와 시간 표현 (0) | 2021.12.27 |
---|---|
Java java.util / Collection,List ,Set,Map인터페이스 / 주요 메서드 정리 (0) | 2021.12.22 |
Java Class Math, Wrapper, 참조형형변환 (0) | 2021.12.06 |
Java ArrayList, String(문자열) 비교 (0) | 2021.12.06 |
Java final, 추상(abstract)메서드, interface (0) | 2021.12.06 |