-문제
-풀이
1.Student 클래스 생성 후 필드 선언
public class Student {
String name;
int age;
int kor;
int eng;
int math;
int scoreTotal;
int avg;
-문제에 나온 점수들 외에 메서드를 만들때 편의성을 위해 값을 저장해둘 수 있는 총점 변수와 평균 변수를 추가로 만들었다
2.생성자로 초기화 필요한 변수 초기화
public Student(String name, int age, int kor, int eng, int math) {
this.name = name;
this.age = age;
this.kor = kor;
this.eng = eng;
this.math = math;}
자동완성키:alt+shift+s -> o(Win기준)/option+command+s->Generate Constructor using Fields...선택(Mac기준)
를 이용하여 생성자 자동 초기화를 진행 후 필요없는 변수들은 지워줬다.
3.학생의 이름과 나이를 출력하는 메소드
public void printInfo() {
System.out.println("====힉생정보====");
System.out.println("이름:"+name);
System.out.println("나이:"+age);
}
-반환이 아닌 출력이 목적인 메소드이기에 따로 rturn값을 주지 않았다 그래서 반환값도 void로 설정했다
4.총점을 반환하는 메서드
public int getTotal() {
scoreTotal = kor + eng+ math;
return scoreTotal;
}
-국어 영어 수학 점수를 합산해 총점변수에 저장해주었다. 그리고 그 값을 반환해줬다.
5.평균을 반환하는 메서드
public int getAvg() {
avg =scoreTotal/3;
return avg;
}
-총점에는 국어 수학 영어 3가지의 점수만 들어가게 되어있으니 간단하게 총점을 3으로 나눠 그 값을 평균 변수에 저장해주었다.그리고서 그 값을 반환해주었다.
6.StudentMain클래스 생성 후 메인메서드 생성, Student 클래스 객체생성
public class StudentMain {
public static void main(String[] args) {
Student s1 = new Student("김철수", 5, 70, 87, 90);
-생성자에서 초기화를 진행하였으니 객체를 생성할때 바로 값들을 넣어주었다
7.필요한 메서드들 호출 후 출력
// 1) 학생의 printInfo() 메소드 호출
s1.printInfo();
// 2) 학생의 이름과 총점출력 (getTotal()메서드)
System.out.println(s1.name+"의 총점:"+s1.getTotal());
// 3) 학생의 이름과 평균 점수 출력(getAvg() 메서드)
System.out.println(s1.name+"의 평균점수:"+s1.getAvg());
-이미 출력기능을 넣어둔 printInfo()메서드는 호출만 해주고 나머지 반환만 해주는 두개의 메서드는 출력메서드 안에서 호출해 주었다
-느낀점
확실히 메인 메서드에서 일일히 기능을 만들어 사용할때보다 가독성도 좋아지고 더욱 직관적으로 볼 수 있는 거 같아 좋다
아직 접근제한자가 제대로 숙지 되어있지 않아 익숙해지는데 시간이 좀 걸릴 거 같다
'연습기록 > JAVA' 카테고리의 다른 글
[JAVA코딩테스트] 홀짝에 따라 다른 값 반환하기 (0) | 2024.11.15 |
---|---|
[JAVA] 리스트 연습-상품 품목 관리 프로그램 만들기 (0) | 2024.11.03 |
[JAVA]캐스팅 연습-도형 넓이 구하는 프로그램 생성 (0) | 2024.10.29 |
[JAVA]class연습 - 도서관 책대여/반납 프로그램 만들어보기 (0) | 2024.10.19 |
[JAVA]if문 연습하기-학점계산문제 (0) | 2024.10.18 |