본문 바로가기
java&eclipse 코딩 알고리즘/20231213

성적표 ScoreVO

by 몽상크리에이터 2023. 12. 13.

package com.tjoeun.score;

 

import java.util.Objects;

 

// 학생 1명의 성적을 기억하는 클래스

public class ScoreVO {

 

// 정적(static) 멤버 변수(필드)

// static을 붙여서 선언한 변수나 메소드는 클래스 객체를 만들지 않고 클래스 이름에 "."을 찍어서 접근할 수 있다.

// static을 붙여서 선언한 변수는 현재 클래스 객체가 생성될 때 최초 1번만 메모리에 만들어지고

// 현재 클래스의 객체가 다시 생성되더라도 변수가 새로 만들어지지 않는다.

// static을 붙여서 선언한 변수는 현재 클래스로 생성한 모든 객체에서 공유해서 사용한다.

public static int count;

 

// 인스턴스 멤버 변수(필드)

// static을 붙여서 선언하지 않은 변수를 말하며 현재 클래스로 생성하는 모든 객체에서 독립된 기억 공간을 가진다.

 

 

private int idx;// 번호, 자동으로 1씩 증가되게 한다.

private String name;// 이름

private int java;// java 점수

private int jsp;// jsp 점수

private int spring;// spring 점수

private int total;// 총점

private double mean;// 평균

private int rank = 1;// 석차 // 석차를 기억하는 기억 장소의 초기치는 무조건 1로 지정

 

public ScoreVO() {

// 기본생성자

}

 

// 이름, 3과목 점수를 넘겨받아 평균을 계산한 후 필드를 초기화 시키는 생성자.

public ScoreVO(String name, int java, int jsp, int spring) {

super();

idx = ++count;

this.name = name;

this.java = java;

this.jsp = jsp;

this.spring = spring;

// 총점과 평균을 계산한다

total = java+jsp+spring;

mean = (double)total / 3;

}

 

 

// getters & setters

public int getIdx() {

return idx;

}

public void setIdx(int idx) {

this.idx = idx;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getJava() {

return java;

}

public void setJava(int java) {

this.java = java;

}

public int getJsp() {

return jsp;

}

public void setJsp(int jsp) {

this.jsp = jsp;

}

public int getSpring() {

return spring;

}

public void setSpring(int spring) {

this.spring = spring;

}

public int getTotal() {

return total;

}

public void setTotal(int total) {

this.total = total;

}

public double getMean() {

return mean;

}

public void setMean(double mean) {

this.mean = mean;

}

public int getRank() {

return rank;

}

public void setRank(int rank) {

this.rank = rank;

}

 

// toString() 오버라이드

@Override

public String toString() {

return String.format(" %4d %4s %4d %4d %4d %4d %4.2f %4d ", idx, name, java, jsp, spring, total, mean, rank);

}

@Override

public int hashCode() {

return Objects.hash(idx, java, jsp, mean, name, rank, spring, total);

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

ScoreVO other = (ScoreVO) obj;

return idx == other.idx && java == other.java && jsp == other.jsp

&& Double.doubleToLongBits(mean) == Double.doubleToLongBits(other.mean)

&& Objects.equals(name, other.name) && rank == other.rank && spring == other.spring

&& total == other.total;

}

 

 

 

 

 

 

}

'java&eclipse 코딩 알고리즘 > 20231213' 카테고리의 다른 글

성적표 ScoreList 출력  (0) 2023.12.13
성적표 ScoreMain  (0) 2023.12.13
성적표 ScoreList  (0) 2023.12.13