- 문제1
<펜(Pen) 클래스>
펜 클래스는 다음의 속성 및 기능을 가진다.
속성 : 색상, 볼 크기, 잉크 타입
기능 : 심교체, 심나오게하기, 심들어가게하기
- 펜은 한번 구입을 하면 색상, 볼 크기, 잉크 타입이 고정되어 있어 별도로 변경할 수 없다.
- 펜은 어떠한 종류의 심을 사용하느냐에 따라 색상, 잉크 타입을 변경할 수 있다.
- 펜의 심을 교체 한다고 해도 볼 크기는 변경할 수 없다.
- 현재 사용하고 있는 펜의 색상, 볼 크기, 잉크 타입을 확인 할 수 있어야한다.
- 문제2
<과목(Subject) 클래스>
과목 클래스는 다음의 속성 및 기능을 가진다.
속성 : 과목명, 점수, 등급
기능 : 점수등록, 과목확인, 점수확인, 등급확인
- 과목명은 한 번 정해지면 변경할 수 없어야 한다.
- 점수는 언제든 변경할 수 있으나 0 ~ 100 사이의 값만 저장해야 한다.
- 등급은 점수에 의해 결정되며, A ~ F 등급까지 부여한다.(등급을 별도로 설정하는 것은 금지)
- 과목 객체의 속성값을 확인하는 것은 허용한다.
- 문제3
<로또(Lotto) 클래스>
로또 클래스는 다음의 속성 및 기능을 가진다.
속성 : 회차, 로또번호(배열), 보너스
기능 : 번호생성, 번호확인
- 회차는 한 번 정해지면 변경 할 수 없어야 한다.
- 로또 번호는 1 ~ 46 사이의 번호 6개 + 보너스 번호가 생성되어야 한다.
- 로또 번호는 "번호생성" 기능을 통해서만 생성되어야 한다.
- 모든 번호는 중복이 있어선 안된다.
- "번호확인" 기능을 통해 확인할 수 있는 번호는 보너스 까지이며, 문자열로 반환해야 한다.
- 문제4
<시계 클래스>
멤버 변수 | 시, 분, 초, 오전/오후 |
멤버 메서드 | 시간출력, 1초전, 1초후, 1분전, 1분후, 1시간전, 1시간후 |
- 시계 클래스가 생성될 때 시, 분, 초 정보를 받아 초기화되어야 한다.
- 시간을 출력 할 때 12:30:30 형식으로 출력 되어야 한다.
- 시간은 전/후 로 이동할 수 있다. 12시 30분 30초 에서 1시간 전으로 이동하면 11시 30분 30초가 된다.
- 시, 분, 초에 대한 직접 변경은 불허 한다.
- 문제5
<스케쥴 클래스>
멤버 변수 | 년, 월, 일, 종일구분, 시작시간, 종료시간 |
멤버 메서드 | 종일로변경, 시간으로변경, 일자변경, 스케쥴확인 |
- 스케쥴을 생성하기 위한 클래스로 년, 월, 일 정보를 받아 초기화해야 한다.
- 초기화 될 때 종일구분 은 false 이어야 하며, 시작시간, 종료시간 은 기본 09:00:00 ~ 10:00:00 으로 설정 한다.
- 종일로 변경 하게 되면 시작시간 과 종료시간 은 00:00:00 ~ 23:59:59 로 설정 하고 종일구분 은 true 가 된다.
- 시간으로 변경하게 되면 변경된 시간으로 시작시간 과 종료시간 으로 설정하고 종일구분 은 false 가 돼야 한다.
- 일자 변경이 되면 지정한 일자로 년, 월, 일 을 설정한다.
- 스케쥴확인 은 현재 설정된 정보를 확인할 수 있도록 출력하기 위한 메서드이다.
#문제 풀이 깃허브 확인
'국비' 카테고리의 다른 글
10.20 국비학원 12일차 (클래스 연습문제3) (0) | 2022.10.21 |
---|---|
10.19 국비학원 11일차 (클래스 연습문제2) (0) | 2022.10.21 |
10.17 국비학원 9일차 (객체지향 : 생성자, 멤버변수, 멤버메서드, 접근제한자, 캡슐화) (1) | 2022.10.18 |
10.14 국비학원 8일차 (2차 배열) (0) | 2022.10.17 |
10.13 국비학원 7일차 (배열 복사 : 얕은복사, 깊은복사) (0) | 2022.10.14 |