타입 매개변수는 일반적으로 변수명처럼 소문자로 사용해도 문제는 없다. 하지만 일반적으로 대문자를 사용하고 용도에 맞는 단어의 첫글자를 사용하는 관례를 따른다.
- E ( Element ) : 주로 컬렉션 또는 배열의 요소 타입을 지정할 때 사용됩니다.
- K ( Key ) : 맵(Map) 과 같은 키 - 값 쌍의 구조에서 키의 타입을 나타내는데 사용됩니다.
- V ( Value ) : 맵(Map) 과 같은 키 - 값 쌍의 구조에서 값의 타입을 나타내는데 사용됩니다.
- T ( Type ) : 일반적인 타입을 나타낼 때 사용되며, 어떤 특정한 종류보다는 범용적인 경우에 사용됩니다.
- N ( Number ) : 숫자 타입을 타내낼 때 사용됩니다.
- S,U,V, etc : 두 번째, 세 번째, 네 번째 타입 매개변수를 지정할 때 사용됩니다. 주로 여러 타입이 관련된 복잡한 제네릭 타입에서 사용됩니다.
컬렉션에서의 E
public class CustomList<E> {
private List<E> list = new ArrayList<>();
public void add(E element) {
list.add(element);
}
public E get(int index) {
return list.get(index);
}
}
CustomList<String> myList = new CustomList<>();
myList.add("Apple");
myList.add("Banana");
String fruit = myList.get(0);
``
맵에서의 K와 V
public class MyMap<K, V> {
private Map<K, V> map = new HashMap<>();
public void put(K key, V value) {
map.put(key, value);
}
public V get(K key) {
return map.get(key);
}
}
MyMap<String, Integer> ageMap = new MyMap<>();
ageMap.put("John", 30);
Integer age = ageMap.get("John");
다중 타입 매개변수에서의 S,U,V
public class Triplet<S, U, V> {
private S first;
private U second;
private V third;
public Triplet(S first, U second, V third) {
this.first = first;
this.second = second;
this.third = third;
}
// Getters and setters...
}
Triplet<String, Integer, Double> data = new Triplet<>("Temperature", 25, 76.5);
위 예시에서 처럼 제네릭 명명 관례는 자바 프로그래밍에서 타입 매개변수(Type Parameter)의 이름을 지정할 때, 사용하는 일반적인 규칙입니다. 이 관례를 따르면 코드의 가독성과 유지보수성이 향상됩니다. 각 타입의 매개변수 이름은 그 사용 목적이나 의미를 담고 있어, 코드를 읽는 이가 더 쉽게 이해할 수 있또록 도와줍니다.
'개발관련 이것저것' 카테고리의 다른 글
VO & DTO (0) | 2024.05.23 |
---|---|
get vs find (0) | 2024.05.23 |
String Join 문자열 합치기 (0) | 2024.04.09 |
thumbnailator를 이용한 썸네일 이미지 생성 (0) | 2024.03.12 |
IntelliJ JVM Heap 메모리 사이즈 변경 (0) | 2024.03.08 |