[국비학원 기록/자바] 미니 프로젝트, 학점 산출 프로그램, 싱글톤 패턴
my code archive
article thumbnail
반응형
인터페이스를 활용해서 프로그램 만들기

1. 문제 정의

 

이 학교에는 5명의 학생들이 수업을 듣습니다.

과목은 국어, 수학이 있고 각 학생들은 두 과목을 모두 수강하고 있습니다.

전공은 국어교육학과와 컴퓨터공학 두 가지가 있습니다.

국어교육학과는 국어가 필수 과목이고 컴퓨터 공학은 수학이 필수 과목입니다.

이번 학기에 성적이 아래와 같이 나왔습니다.

--------------------------------------------------------------------------------------
이름                 학번          전공            필수과목    국어점수    수학점수
--------------------------------------------------------------------------------------
스티븐잡스      202126    국어교육학과      국어          95             56
이순신            202127   컴퓨터공학과       수학          95             98
리누스토발즈   202128    국어교육학과      국어         100             88
제임스고슬링   202129    국어교육학과      국어          89             95
이도              202130    컴퓨터공학과      수학          83             56

학점을 부여하는 방식은 2가지가 있습니다.

-단순히 A~F를 부여하는 방법

-S~F를 부여하는 방법

 -일반 과목이라면 A~F

 -필수 과목이라면 S~F로 분류

필수과목학점
S              A        B           C         D          F
-------------------------------------------------------------
95~100   90~94   80~89   70~79   60~69   60미만

일반과목학점
A             B            C              D              F
---------------------------------------------------------
90~100   80~89     70~79     55~69       55미만

 

학점 결과를 아래와 같이 나올 수 있도록 구현하세요.

2. UML (클래스 관계도) 그리기

과목은 -> 학생 리스트를 가지고 있다.

학생은 -> 점수 리스트를 가지고 있다.

각 점수는 -> 과목과 학생 정보를 포함한다.

학생 하나는 필수 과목을 가진다. (major)

 

3. Student, Score, Subject 클래스 생성

Student 클래스

Score 클래스

Subject 클래스

4. 학점 평가 설계하고 구현하기

-BasicEvaluation : 일반 과목

-MajorEvaluation : 필수 과목

 

5. GradeEvaluation 인터페이스, 인터페이스를 구현하는 BasicEvaluation, MajorEvaluation 클래스 생성

 

6. 학생 리스트, 과목 리스트가 있는 School 클래스 생성

   -학교가 유일한 객체이므로 싱글톤 패턴으로 구현.

7. 학점 계산하는 Report 클래스 생성

8. 학생, 과목, 점수 등을 생성하고 리포트 클래스를 생성하여 성적과 학점을 출력하는 UIMain 클래스 생성

9. 결과

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형