java

실습) 야구선수 평가하기

dalc3154 2025. 2. 25. 16:32
class BaseBallPlayer {
	String name;
	double battingAverate;
	int homeRuns;
	
	static int playerCount;
	
	BaseBallPlayer(String name, double battingAverate, int homeRuns) {
		this.name = name;
		this.battingAverate = battingAverate;
		this.homeRuns = homeRuns;
		
		playerCount++;
	}
	
	// 인스턴스 메소드
	void UpdateStatus(double newBattingAverage, int newHomeRuns) {
		battingAverate = newBattingAverage;
		homeRuns = newHomeRuns;
	}
	
	// 정적 메소드
	// 특정 홈런 수 이상인 선수를 평가
	static String evaluateHomeRun(int homeRunCount) {
		if(homeRunCount > 20) {
			return "홈런상 후보에 등록됩니다";
		} else {
			return "홈런상 후보에 등록될 수 없습니다";
		}
	}
}

public class E_Practice {
	public static void main(String[] args) {
		// 인스턴스 생성
		BaseBallPlayer player1 = new BaseBallPlayer("윤영서", 0.325, 16);
		BaseBallPlayer player2 = new BaseBallPlayer("문창배", 0.293, 20);
		BaseBallPlayer player3 = new BaseBallPlayer("전창현", 0.301, 11);
		BaseBallPlayer player4 = new BaseBallPlayer("고혁재", 0.292, 21);
		
		System.out.println("총 생성된 선수의 수: " + BaseBallPlayer.playerCount);// 총 생성된 선수의 수: 4

		
		player2.UpdateStatus(0.312, 22);
		System.out.println(player2.battingAverate);
		System.out.println(player2.homeRuns);
		
		System.out.println(BaseBallPlayer.evaluateHomeRun(player3.homeRuns));// 홈런상 후보에 등록될 수 없습니다
		System.out.println(BaseBallPlayer.evaluateHomeRun(player4.homeRuns));// 홈런상 후보에 등록됩니다
	}
}

'java' 카테고리의 다른 글

실습) 오버로딩 연습  (0) 2025.02.25
17. 메소드-4 오버로딩  (0) 2025.02.25
17. 메소드-3 메소드의 종류  (0) 2025.02.25
실습) 사칙연산 클래스 만들기  (0) 2025.02.25
17. 메소드-2, 함수와 메소드  (0) 2025.02.25