Web Developer/JAVA I

9. Class (클래스) 예제 및 연습문제

sayitditto 2023. 1. 10. 16:04

I. 예제

1) ScoreDataTest

public class ScoreDataTest {
	public static void main(String[] args) {
// 객체로 만든다. 인스턴스 화 한다. sd1: object, ScoreData의 instance
		ScoreData sd1 = new ScoreData();
		
// 필드에 값 넣기
		sd1.subject = "국어";
		sd1.score = 85;
		sd1.ranking = 7;
		
// 필드 값 출력하기
		System.out.println(sd1.subject);
		System.out.println(sd1.score);
		System.out.println(sd1.ranking);
	
		sd1.printInfo();
	}
}

2) ScoreData

// 설계도, 내가 만드는 새로운 자료형 
public class ScoreData {
//속성: 멤버 변수(member variable), 필드 (field)
	int score; 
	String subject;
	int rank;
		
	//행위: 메소드 function () 
	void printInfo() {
		System.out.println("과목명: " + this.subject);
		System.out.println("점수: " + this.score);
		System.out.println("등수: " + this.rank);
	}

}

II. 연습문제

  • 학생 Class를 설계하세요.
  • 멤버 변수(필드)는 아래를 참조하세요.
  • 이름, 수업명, 나이, 전화번호
  • 메소드는 아래를 참조하세요.
  • 나이가 20세 이상이면 "OOO(이름)은 성인입니다."
  • 나이가 20세 미만이면 "OOO(이름)은 미성년자입니다."
  • 2개의 객체를 생성하고, 각각의 값 출력과 메소드를 호출해서 출력하세요.

1) StudentTest

public class StudentTest {
	public static void main(String[] args) {
    
    Student stu1 = new Student ();
		
	stu1.name = "유재석";
	stu1.age = 21;
	stu1.className = "java";
	stu1.phoneNumber = "01023453223";
          
    Student stu2 = new Student ();

    stu2.name = "이효리";
	stu2.age = 17;
	stu2.className = "java";
	stu2.phoneNumber = "01096482734";
    
// 배열에 넣기
	Student[] students = new Student[2];
	students[0] = stu1;
	students[1] = stu2;
    
// 출력
	for (int i = 0; i < students.length; i++) {
		System.out.println(students[i].name);
		System.out.println(students[i].age);
		System.out.println(students[i].className);
		System.out.println(students[i].phoneNumber);
		students[i].isAdult();
		System.out.println();
	}
}
}
public class StudentTest {
	public static void main(String[] args) {
//heap 영역에 쌓인다
		Student stu1 = new Student ();
//필드 값 세팅		
		stu1.name = "유재석";
		stu1.age = 21;
		stu1.className = "java";
		stu1.phoneNumber = "01023453223";
		
        System.out.println(stu1.name);
        System.out.println(stu1.age);
        System.out.println(stu1.className);
        System.out.println(stu1.phoneNumber);
        stu1.isAdult();

        System.out.println();

        
        Student stu2 = new Student ();

        stu2.name = "이효리";
		stu2.age = 17;
		stu2.className = "java";
		stu2.phoneNumber = "01096482734";
		
        System.out.println(stu2.name);
        System.out.println(stu2.age);
        System.out.println(stu2.className);
        System.out.println(stu2.phoneNumber);
        stu2.isAdult();
	}
}

2) Student

public class Student {
// 속성 = field	
	String name;
	int age;
	String className;
	String phoneNumber;
// 행위 : method	
	public void isAdult() {
		if (age >= 20) {
			System.out.println(name + "은 성인입니다.");
		} else {
		System.out.println(name + "은 미성년자입니다.");
		}
	}
}