본문 바로가기
개발관련 이것저것

제네릭 명명 관례

by 이상한나라의개발자 2024. 5. 8.

타입 매개변수는 일반적으로 변수명처럼 소문자로 사용해도 문제는 없다. 하지만 일반적으로 대문자를 사용하고 용도에 맞는 단어의 첫글자를 사용하는 관례를 따른다.

 

  • 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