The Debugging Chronicles : "코드의 미학"

예제로 알아보는 클래스01 본문

JAVA/자바 수업 내용

예제로 알아보는 클래스01

sweetseonah1004 2024. 7. 2. 09:27

 

 

클래스 변수명 = new 생성자();

포켓몬 피카츄  = new 포켓몬();

 

포켓몬 : 자료형, JAVA 객체 지향 코딩의 기본 단위

피카츄 : 변수명, new 로 만들었기 때문에 객체명

new : 클래스로 변수(객체)를 생성할 때 사용하는 연산자

포켓몬 : 생성자 함수, 클래스 명과는 동일한 특징

 

 


 

문제
학생 클래스가 있습니다.
학생은 학번(PK,정수),이름,성적(정수),등급(char)이 있습니다.
학생은 반드시 이름을 가져야합니다.
학생을 생성할때, 성적이 0~100점 사이로 랜덤 저장됩니다.
학생의 번호는 1001번부터 차례대로 증가하며 부여됩니다.
성적이 0~59 C 60~79 B 80~100 A 등급입니다.
학생이 hello() 인사를 하면, 이름과 성적, 등급을 화면에 출력합니다.
학생이 test() 시험을 보면, 성적이 현재성적점수 +10점이 됩니다.

 

package class07;

import java.util.Random;

class Student03 {
	// ID, 핸드폰번호, 이메일 xxxxx
	int num; // PK : 사용자가 지정 x / 시스템에 값을 부여 O
	String name;
	int score;
	char grade;
	Student03(int num, String name){
		this.num=num; // PK라서 외부(시스템)에서 값을 부여받아야한다!
		this.name=name;
		this.score=new Random().nextInt(101);
		setGrade();
	}
	void hello() {
		System.out.println(this.num);
		System.out.println(this.name);
		System.out.println(this.score);
		System.out.println(this.grade);
	}
	void test() {
		this.score+=10;
		if(this.score>100) {
			this.score=100;
		}
		setGrade();
	}
	void setGrade() {
		if(this.score>=80) {
			this.grade='A';
		}
		else if(this.score>=60) {
			this.grade='B';
		}
		else {
			this.grade='C';
		}
	}
}

public class Test03 {
	
	public static void main(String[] args) {
		
		int NUM=1001; // 시스템에서 부여하는 PK 값
		// 키워드 처리
		
		Student03 stu01=new Student03(NUM++,"홍길동");
		stu01.hello();
		
		Student03 stu02=new Student03(NUM++,"모르가나");
		stu02.hello();
		
		Student03 stu03=new Student03(NUM++,"럭스");
		stu03.hello();
		
	}

}