상속 (23.05.09)

·2023년 5월 10일
0

Coding Test

목록 보기
13/39
post-thumbnail

  • Person 클래스
package edu.kh.inheritance.practice.model.vo;

public class Person {
	
	protected String name;
	private int age;
	private double height;
	private double weight;
	
	public Person() {}
	
	public Person(int age, double height, double weight) {
		super();
		this.age = age;
		this.height = height;
		this.weight = weight;
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public double getHeight() {
		return height;
	}

	public void setHeight(double height) {
		this.height = height;
	}

	public double getWeight() {
		return weight;
	}

	public void setWeight(double weight) {
		this.weight = weight;
	}
	
	@Override
	public String toString() {
		return name + " / " + age +  " / " + height +  " / " + weight;
	}
	
}
  • Student 클래스
package edu.kh.inheritance.practice.model.vo;

public class Student extends Person {

	private int grade;
	private String major;
	
	public Student() {}
	
	public Student(String name, int age, double height, double weight, int grade, String major) {
		super(age, height, weight);
		super.name = name;
		this.grade = grade;
		this.major = major;
	}

	public int getGrade() {
		return grade;
	}

	public void setGrade(int grade) {
		this.grade = grade;
	}

	public String getMajor() {
		return major;
	}

	public void setMajor(String major) {
		this.major = major;
	}
	
	@Override
	public String toString() {
		return super.toString() +  " / " + grade +  " / " + major;
	}
	
}
  • Employee 클래스
package edu.kh.inheritance.practice.model.vo;

public class Employee extends Person {

	private int salary;
	private String dept;
	
	public Employee() {}
	
	public Employee(String name, int age, double height, double weight, int salary, String dept) {
		super(age, height, weight);
		super.name = name;
		this.salary = salary;
		this.dept = dept;
	}

	public int getSalary() {
		return salary;
	}

	public void setSalary(int salary) {
		this.salary = salary;
	}

	public String getDept() {
		return dept;
	}

	public void setDept(String dept) {
		this.dept = dept;
	}
	
	@Override
	public String toString() {
		return super.toString() +  " / " + salary +  " / " + dept;
	}
	
}
  • PracticeService 클래스
package edu.kh.inheritance.practice.model.service;

import java.util.Scanner;

import edu.kh.inheritance.practice.model.vo.Employee;
import edu.kh.inheritance.practice.model.vo.Student;

public class PracticeService {

	public void homework() {
		
		Scanner sc = new Scanner(System.in);
		
		// 3명의 학생 정보를 기록할 수 있게 객체 배열 할당
		Student[] arr = new Student[3];
		
		// 위의 사용데이터 참고하여 3명의 학생 정보 초기화
		arr[0] = new Student("카리나", 20, 168.2, 70.0, 1, "정보시스템공학과");
		arr[1] = new Student("정해인", 21, 187.3, 80.0, 2, "경영학과");
		arr[2] = new Student("박서준", 23, 179.0, 45.0, 4, "정보통신공학과");

		// 위의 학생 정보 모두 출력 --> 향상된 for문 이용해서
		for( Student std : arr ) {
			System.out.println(std);
		}
		
		// 최대 10명의 사원 정보를 기록할 수 있게 배열을 할당
		Employee[] arr2 = new Employee[10];
		int count = 0;
		boolean flag = true;
		
		// 사원들의 정보를 키보드로 계속 입력 받고 --> while(true) 무한 반복문을 통해
		while(flag) {
			System.out.print("이름 입력 : ");
			String name = sc.next();
			
			System.out.print("나이 입력 : ");
			int age = sc.nextInt();
			
			System.out.print("신장 입력 : ");
			double height = sc.nextDouble();
			
			System.out.print("몸무게 입력 : ");
			double weight = sc.nextDouble();
			
			System.out.print("급여 입력 : ");
			int salary = sc.nextInt();
			
			System.out.print("부서 입력 : ");
			String dept = sc.next();
			
			arr2[count] = new Employee(name, age, height, weight, salary, dept);
			// 한 명씩 추가 될 때마다 카운트함
			count++;

			// 계속 추가할 것인지 물어보고, 대소문자 상관없이 ‘y’이면 계속 객체 추가
			while(true) {
				System.out.print("계속 입력하시겠습니까?(Y/N) : ");
				char input = sc.next().toUpperCase().charAt(0);
				
				if(count == 10 || input == 'N') {
					flag = false;
					break;
				}
				
				if(input == 'Y') {
					break;
					
				} else {
					System.out.println("잘못 입력하셨습니다.");
				}
			}
		} // while문 끝
		
		// 2명 정도의 사원 정보를 입력 받아 객체 배열에 저장
		// 현재 기록된 사원들의 정보를 모두 출력
		for(int i=0; i<count; i++) {
			System.out.println(arr2[i]);
		}
	}
}
  • PracticeRun 클래스
package edu.kh.inheritance.run;

import edu.kh.inheritance.practice.model.service.PracticeService;

public class PracticeRun {

	public static void main(String[] args) {

		PracticeService service = new PracticeService();
		service.homework();
	}

}
  • 출력 화면
profile
풀스택 개발자 기록집 📁

0개의 댓글