# 큐 인터페이스 구현하기
## 문제
아래의 **큐 명세서**와 **클래스 다이어그램**을 참고하여, `Queue` 인터페이스를 구현하고, 출력 예와 같은 결과를 얻으시오.
## 큐 명세서
- 데이터를 추가 및 제거할 수 있다.
- 가장 먼저 추가한 데이터가 가장 먼저 제거된다.
- front 데이터를 확인할 수 있다. (데이터가 없는 경우 null 값을 반환)
- rear 데이터를 확인할 수 있다. (데이터가 없는 경우 null 값을 반환)
- 큐가 비어있는 경우 null 값을 반환한다.
- 큐가 가득 찬 경우 경고문을 출력하며, 데이터는 추가되지 않는다.
## 클래스 다이어그램
![ds101-큐 인터페이스](https://i.imgur.com/iakl4tq.png)
## 출력 예
```
dequeue() : Integer
front() : Integer
rear() : Integer
isFull() : boolean
isEmpty() : boolean
enqueue(int) : void
```