336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
제네릭은 주로 자바에서 제공하는 컬렉션에서 주로 사용되는 것을 보았을 것이다.
즉 클래스 내부에서 사용할 데이터 타입을 인스턴스로 생성할 때 확정해주고 타입 체크를 할 때 Generic을 사용한다.
제너릭을 사용할려면 선언하려는 클래스 옆에 <> 안에 데이터 타입을 사용하고 <> 안에 지정된 데이터 타입으로 T의 데이터 타입이 결정된다.
말로는 잘 모르니 그냥 코드로 설명을 하자면 아래와 같은 Person Class를 선언한다.
Person 옆에 <T> 데이터 타입을 선언하였고 클래스 안에 T 데이터 타입인 name 프로퍼티가 생성된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | class Person<T> { public T name; private String age; public String getAge() { return age; } public void setAge(String age) { this.age = age; } public T getName() { return name; } public void setName(T name) { this.name = name; } } |
아래 메인에서 Person 객체 2개를 만들었는데 하나는 T의 데이터 타입을 String으로, 나머지 하나는 T의 데이터 타입을 StringBuilder로 선언하였다.
선언된 데이터 타입으로 setter함수를 만든 부분을 유심히 보면 setName을 할 때 선언된 데이터 타입으로만 setter가 되는 것을 확인할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 | public class GenericTest { public static void main(String[] args) { Person<String> p1 = new Person<String>(); p1.setName("String ktko"); Person<StringBuilder> p2 = new Person<StringBuilder>(); p2.setName(new StringBuilder("StringBuilder ktko")); System.out.println(p1.getName()); System.out.println(p2.getName()); } } |
제너릭이 어떻게 사용되는지 간략하게 끄적였는데
제너릭을 왜 사용하는지, 어떻게 사용하는지에 대해서 다시 정리를 해서 포스팅하겠드아.
'Java 개발 이야기' 카테고리의 다른 글
자바 박싱(boxing)과 언박싱(unboxing) (0) | 2018.09.27 |
---|---|
자바 가변인자(Varargs)에 대해서 (0) | 2018.09.18 |
자바 Map 출력하기 (0) | 2018.05.16 |
자바 @SuppressWarnings 사용하기 (0) | 2018.05.01 |
자바 이미지 리사이즈 (0) | 2018.04.19 |