큼직한 걸로 작은 걸 감싼다
기본형 타입을 객체화 하도록 도와주는 클래스
클래스 타입 -> Wrapper 클래스
Wrapper 클래스 > 기본형 타입 : 박싱(Boxing)
Wrapper 클래스 < 기본형 타입 : 언방식(Unboxing)
String str2 = "1"; // 오토 박싱
// 큰거(String)에서 작은걸("1") 감싼다.
Integer data = 10; // 오토 박싱
int data2 = data; // 오토 언박싱
Integer > int
Double > double
왜 사용할까?
Wrapper 클래스를 사용하는 이유
(향상된 for문, foreach문...)
2차원 배열 응용하기
결과
포괄적인, 총칭의
자료형을 정하지 않는 기법 (외부에서 저장)
<대문자>
E - Element
K - Key
N - Number
T - Type
V - Value
클래스 내부에서 사용될 자료형을 지정한다.
이제는 타입을 지정해준다. (타입은 꼭 Wrapper 클래스 사용할 것)
Generic(Integer> g2 = new Generic<>();
g2.setData(new Integer(10));
System.out.println(g2.getData()); // 10
이렇게 추가 가능
클래스에 제네릭을 선언하지 않고, 메서드에만 제네릭을 선언
메소드의 매개변수 또는 리턴타입이 제네릭이라면
리턴타입 앞에도 제네릭을 선언해야 한다.
결과
인터페이스 내부는 미구현 된 메소드. 거기에 제네릭을 붙인다.
그럼 외부에서 인터페이스를 구현(implements) 하는 클래스에 타입을 지정.
단 한개의 객체만을 가지고 있는 클래스를 싱글톤 패턴으로 구현한다.
클래스 내에 객체를 생성하고 그 객체를 다른 곳에서 공통으로 사용한다.
즉 그 객체 하나 뿐이다.
클래스를 하나 만든다.
다른 패키지에서 불러오려니 not visible. 못찾겠다고 한다.
private이니까. 그럼 위 클래스에서 public으로 바꿔야할까?
Single의 객체는 Single 안에 만들어져있다.
싱글턴 패턴에서는 그 객체이름을 instance로 많이 준다.
걔를 실체화한게 instance거든 .
싱글턴 패턴의 그 싱글턴 클래스를 실체화 시켰다해서 instance로 하고
실체화 된 것을 가져올거니까 getInstance로 이름을 많이 쓴다.