Computer Science/Java

Java - 상속

ajdanddl 2020. 1. 26. 16:32
반응형

상속에 대해 예제로 알아봅시다.

 

꿀팁이 있다면 private 변수에 대한 get,set 메소드를 자동으로 생성해주는 기능이 있다는 것입니다.

우클릭 -> Source -> Generage Getters and Settlers

 

이후 생성하고자 하는 변수 선택(저의 경우 이미 사용할 변수를 다 선언해놨기 때문에 Select All)

 

그 결과로 private 변수들에 대한 set(), get() 메소드가 자동으로 생성됩니다.

 

생성자 또한 메소드 처럼 자동으로 만들어줄 수 있습니다.

우클릭 -> Source -> Generate Constructor using Fields

 

다음으로 Person class를 상속받을 Student class를 생성해줍시다.

(Person class는 추상클래스이기 때문에 추후에 인스턴스화 해줄 수 없습니다.)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
public class Student extends Person{//Person 클래스를 상속받는 Student 클래스
    private String StudentId;
    private int Grade;
    private double GPA;
    public String getStudentId() {
        return StudentId;
    }
    public void setStudentId(String studentId) {
        StudentId = studentId;
    }
    public int getGrade() {
        return Grade;
    }
    public void setGrade(int grade) {
        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);//부모 클래스의 변수를 받아옴
        StudentId = studentId;
        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());
    }
}
 
cs

이것도 마찬가지로 Person의 메소드와 생성자를 만들 때처럼 Source 창을 이용하여 빠르게 짜줍니다.

그리고 마지막으로 show 메소드로 학생의 정보를 출력해주는 코드를 만들어줍니다.

 

마지막으로 Main 클래스를 만들어봅시다.

 

1
2
3
4
5
6
7
8
9
10
public class Main {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student student1 = new Student("홍길동",20,178,70,"20090029",2,4.23);
        Student student2 = new Student("홍길순",21,154,50,"20190837",1,3.76);
        student1.show();
        student2.show();
    }
}
cs

 

student1, student2 학생의 정보를 입력해주고 show() 메소드를 통해 출력을 해줍시다. 

출력결과

반응형

'Computer Science > Java' 카테고리의 다른 글

Java - Final  (0) 2020.01.27
Java - 추상화  (0) 2020.01.26
Java - 클래스  (0) 2020.01.26
Java - 배열  (0) 2020.01.25
Java - 문자열 함수  (0) 2020.01.25