IT/Java

[JAVA]상속클래스 이용하기

eternitys 2020. 12. 11. 15:58

상속

클래스간의 상호작용

 

-하나의 사람을 의미하는 Person 클래스를 생성합니다.

-Person을 상속받아 하나의 학생을 의미하는 Studuent 클래스를 의미합니다.

-Student 클래스를 이용하여 객체를 생성합니다.

 

Person class

public class Person {

	private String name;
	private int age;
	private int height;
	private int 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 int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	public int getWeight() {
		return weight;
	}
	public void setWeight(int weight) {
		this.weight = weight;
	}
	//생성자라는것은 하나의 인스턴스를만들때 자동으로 그 인스턴스가 가지는 변수를 초기화 시켜주는 함수
	public Person(String name, int age, int height, int weight) {
		super(); 
		this.name = name;
		this.age = age;
		this.height = height;
		this.weight = weight;
	}
	 
	
}

 

 

Student class

public class Student extends Person {

	private String studentID;
	private int grade;
	private double GPA;
	public String getStudentID() {
		return studentID;
	}
	public void setStudentID(String studentID) {
		this.studentID = studentID;
	}
	public int getGrade() {
		return grade;
	}
	public void setGrade(int grade) {
		this.grade = grade;
	}
	public double getGPA() {
		return GPA;
	}
	public void setGPA(double gPA) {
		GPA = gPA;
	}
	public Student(String name, int age, int height, int weight, String studentID, int grade, double gPA) {
		super(name, age, height, weight);
		this.studentID = studentID;
		this.grade = grade;
		GPA = gPA;
	}
	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("학번 :" + getStudentID());
		System.out.println("학년 :" + getGrade());
		System.out.println("학점 :" + getGPA());
	
	
	
	}
	
	
}

 

Main class

public class Main {

	public static void main(String[] args) {
		// 인스턴스를 만들어준다.
		Student student1 = new Student("홍길동", 20, 175, 70, "2017101", 1, 4.5);
		Student student2 = new Student("이순신", 30, 175, 80, "2017101", 4, 3.0);
		student1.show();
		student2.show();

	}

}


메인함수는 짧아지고 실제 클래스들을 이렇게 사용하고 각각의 틀을 사용하는것은 메인 메소드입니다.


상속받은 클래스를 이용해서 변수를 만들고 활용하는것입니다.


객체지향의 장점이자 개별적 특성을 세부적 분류해서 관리하는 기법입니다.