제네릭(Generic)
제네릭(Generic)
은 데이터 형식을 지정하지 않고 형식 매개변수
로 전달해 클래스를 정의합니다.
제네릭을 활용할 경우, 데이터 형식별로 클래스를 생성하지 않아 재사용성, 안전성 등을 최대화 할 수 있습니다.
C++의 템플릿과 비슷한 역할을 합니다. 더 간단한 접근 방식
을 제공하지만, 산술 연산자는 호출할 수 없고 사용자 정의 연산자는 호출할 수 있습니다.
전체 코드
제네릭 클래스는 <T>
를 활용해 정의합니다.
T
는 형식 매개변수를 의미하며, 이 값으로 데이터 형식
이 설정됩니다.
세부 코드
형식 매개변수
를 활용하는 변수에는 T
를 사용해 정의합니다.
array
변수는 형식 매개변수의 배열이 됩니다.
GenericQueue
생성자를 통해, 배열 T
의 크기를 설정합니다.
Enqueue
메서드를 통해 값을 입력합니다.
Dequeue
메서드를 통해 값을 출력합니다.
이때, count
의 값이 0이라면, default(T)
를 반환합니다.
default(T)
는 형식 매개변수가 값 형식인 경우 0
을 반환하며, 참조 형식인 경우 null
을 반환합니다.
- 결과
- 300
200
100
400
0
GenericQueue
를 생성할 때 형식 매개변수를 int
로 사용합니다.
Enqueue
메서드로 값을 넣을 수 있으며, Dequeue
메서드로 값을 반환합니다.
더 이상 출력할 값이 없다면 0
이나 null
을 반환합니다.
댓글 남기기