본문 바로가기
IT/Java

Generic Type 2

by 성준하이 2024. 10. 14.
반응형

이전 포스팅에서 Generic Type 에 대해서 다룬 글이 있다.

자세한 내용은 아래 참고 포스팅 참고 바란다.

 

포스팅 내용에는 아래와 같은 예제 코드가 있다.

class Test<T>{
List<T> lists = new ArrayList<>();
     public void add(T list) {
          lists.add(list);
     }
}

 

Generic 로 선언한 클래스를 명시해줬는데,

조금 변형해서 아래와 같이 만들어보았다.

class Test<String>{
List<String> lists = new ArrayList<>();
     public void add(T list) {
          lists.add(list);
     }
}

 

그리고 객체 생성하는 코드를 아래와 같이 짜보았다.

Test<Integer> intTest2 = new Test<>();
Test<String> stringTest2 = new Test<>();
Test<Double> doubleTest2 = new Test<>();

근데 이상하게도 에러가 안난다.

 

Generic 타입일 경우에만 가능한 이렇게 다양한 자료형을 받을수 있는게 String 으로 설정해도 에러가 안났다.

 

확인 결과 Generic 코드처럼 짜고 알파벳 T 가 아닌 어떤것을 써도 T 와 같은 의미로 코드는 받아드리고 이름만 String 이지 T 와 동일한 동작을 하게 한다.

실제로 String 을 abcd 로 바꾸거나 thenicesj 로 바꿔봐도 코드는 동일하게 동작을 하는것을 확인할 수 있다. 


참고 포스팅

https://thenicesj.tistory.com/1084

 

Generic Type

대부분의 코드 등에서 자료형이라는 개념이 있다.크게 기본적으로 문자형 String, 숫자형 Int, True/False 형 Boolean 등이 있다. 그리하여 객체를 생성할때는 이 자료형을 명시해주곤 한다. 아래와 같

thenicesj.tistory.com

 

반응형

댓글