📘제너릭(Generic)
- 데이터형식에 의존하지 않고 데이터 형식을 내부가 아닌 외부에서 지정하는 타입이다.
- 실행시 타입에러가 나는 것을 방지할 수 있다.
- 타입 파라미터
타입 | 설명 |
---|
<T> | Type |
<E> | Element |
<K> | Key |
<V> | Value |
<N> | Number |
public <타입 파라미터,...> 리턴타입 메소드명(매개변수,...){...}
public <T> Box<T> boxing(T t) {...}
✏️예시 - 제네릭 : 두개 이상의 타입 파라미터 사용
public class Product <T,M>{
private T kind;
private M model;
public T getKind() {return this.kind;}
public M getMode() {return this.model;}
public void setKind(T kind){ this.kind = kind; }
public void setModel(M model){ this.model = model; }
}
public class ProductExample {
public static void main(String[] args) {
Product<TV, String> product1 = new Product<TV, String>();
product1.setKind(new TV());
product1.setModel("스마트TV");
TV tv = product1.getKind();
String tvModel = product1.getModel();
}
}
📘열거형(Enumeration Type)
public enum 열거타입이름 { 열거상수 정의 }
public enum Week {
MONDAY,
TUESDAY,
WENDESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
상수와 특정값을 연결하기 위해서는 해당 값을 리턴할 수 있는 함수가 필요하다.
public enum SocialType{
KAKAO("카카오").
NAVER("네이버"),
GOOGLE("구글");
}
private final String value;
Type(String value){
this.value = value;
}
public String getValue(){
ruturn value;
}