-
Java 제네릭(Generic) 정리(2)_static을 이용한 GenericJava 2023. 8. 11. 19:52
static을 이용한 제네릭 프로그래밍
- static으로 선언된 것들은 객체가 생성되기 전에 메모리에 먼저 올라가기 때문에 클래스 이름을 통해 바로 사용이 가능하지만, generic type을 우선적으로 선언해주어야한다.
- static으로 선언된 generic 메소드는 class의 타입과는 독립적이다.
예시
class ClassName<E> { /* // error static E genericMethodError(E o) { return o; } */ // generic 메소드의 E타입은 generic 클래스의 E타입과 독립적이다. static <E> E genericMethod(E o) { return o; } } class Main { public static void main(String[] args) { // ClassName 객체가 생성되기 전에 접근할 수 있으나 유형을 지정할 방법이 없어 에러남 // ClassName.genericMethodError(3); System.out.println(ClassName.genericMethod(1).getClass().getName()); // java.lang.Integer System.out.println(ClassName.genericMethod("1").getClass().getName()); // java.lang.String } }출처)
'Java' 카테고리의 다른 글
Java 특정 값 배열에 포함 여부 (String, int) (0) 2023.08.11 Java 제네릭(Generic) 정리(3)_generic의 extends, super, wildcard (0) 2023.08.11 Java 제네릭(Generic) 정리(1) (0) 2023.08.11 Java 배열과 list를 이용해 2차원 구현 (0) 2023.08.11 Java 날짜 관련 메소드 정리 (SimpleDateFormat, parse(), format()) (0) 2023.08.11