반응형
이전 포스팅에서 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
반응형
'IT > Java' 카테고리의 다른 글
[Error] Executing an update/delete query (9) | 2024.10.20 |
---|---|
[Error] Encoded password does not look like BCrypt (12) | 2024.10.19 |
Generic Type (11) | 2024.10.13 |
[Error] Deprecated unwrapped fragment expression "~/~" found in template ~/~ (13) | 2024.10.11 |
Spring Banner 만들기 (14) | 2024.10.09 |
댓글