반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[JAVA] 상속 Ⅱ 본문

728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

상속

 

💕상속 Ⅰ

지난번 기초적인 상속 내용을 확인해보며 직접 실습해보았는데요, 자세한 내용은 위의 git 주소를 확인해주세요.

 

<Teacher 클래스>

package Inheritance;

public class Teacher extends Person {

	private String teacherID;
	private int momthSalary;
	private int workedYear;
	
	public String getTeacherID() {
		return teacherID;
	}
	public void setTeacherID(String teacherID) {
		this.teacherID = teacherID;
	}
	public int getMomthSalary() {
		return momthSalary;
	}
	public void setMomthSalary(int momthSalary) {
		this.momthSalary = momthSalary;
	}
	public int getWorkedYear() {
		return workedYear;
	}
	public void setWorkedYear(int workedYear) {
		this.workedYear = workedYear;
	}
	
	public Teacher(String name, int age, int height, int weight, String teacherID, int momthSalary, int workedYear) {
		super(name, age, height, weight);
		this.teacherID = teacherID;
		this.momthSalary = momthSalary;
		this.workedYear = workedYear;
	}
	
	public void show() {
		System.out.println("----------------------");
		System.out.println("교사 이름 : " + getName());
		System.out.println("교사 나이 : " + getAge());
		System.out.println("교사 키 : " + getHeight());
		System.out.println("교사 몸무게 : " + getWeight());
		System.out.println("교직원 번호 : " + getTeacherID());
		System.out.println("교사 월급 : " + getMomthSalary());
		System.out.println("교사 연차 : " + getWorkedYear());
	}
	
}

<Main클래스>

Main클래스에서 위 teacher1 인스턴스를 생성하여 show()함수를 실행하게되면 Person클래스의 내용을 그대로 상속받아 사용된 교사정보 출력문을 확인할 수 있습니다.

 

상속 배열에 활용해보기

위와 같이 for반복문을 활용하여 작성해보면, i를 넣은 부분인 학번은 각각 다르게 출력되는 것을 볼 수 있습니다.
여기서 배열은 인덱스 번호가 0부터 시작하기 때문에, 학번은 99번까지 출력됩니다.

 

상속 배열 활용해보기 2

이번에는 직접 사용자의 입력에 따라 정보를 출력하는 실습을 해보겠습니다.

<Main클래스 내용 중>

// 사용자로부터 학생정보를 입력받아 출력
Scanner scan = new Scanner(System.in);
System.out.print("총 몇 명의 학생이 존재합니까?");
int number = scan.nextInt();
Student[] students2 = new Student[number];
for(int i = 0; i < number; i++) {
    String name;
    int age; 
    int height; 
    int weight; 
    String studentID; 
    int grade; 
    double gPA;

    System.out.println("학생의 이름을 입력하세요 : ");
    name = scan.next();
    System.out.println("학생의 나이를 입력하세요 : ");
    age = scan.nextInt();
    System.out.println("학생의 키를 입력하세요 : ");
    height = scan.nextInt();
    System.out.println("학생의 몸무게를 입력하세요 : ");
    weight = scan.nextInt();
    System.out.println("학생의 학번을 입력하세요 : ");
    studentID = scan.next();
    System.out.println("학생의 학년을 입력하세요 : ");
    grade = scan.nextInt();
    System.out.println("학생의 학점을 입력하세요 : ");
    gPA = scan.nextDouble();

    // 입력된 원소인 학생정보 studens2배열에 담아주기
    students2[i] = new Student(name, age, height, weight, studentID, grade, gPA);
}
for(int i = 0; i < number; i++) {
    students2[i].show();
}

<콘솔창 출력>

콘솔창 출력되는 문구에 알맞게 답을 적으면 위와 같이 결과가 출력되는 것을 확인할 수 있습니다.

이런식으로 학생들이 몇백명이던 몇천명이던 입력을 받아서 정보를 안정적으로 출력할 수 있습니다.

학생들의 총 수를 모르는 경우 이런식으로 프로그램을 체계적으로 다루어 정보를 관리하게 됩니다.

728x90
반응형
LIST