[Java] 상속 - 메소드 오버라이딩, 참조변수 super

이다혜·2023년 10월 23일
0

Java

목록 보기
3/23
post-thumbnail

📌 상속이란?

  • 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미합니다.

  • 기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아서 중복을 제거합니다.

문법

class 자식클래스이름 extends 부모클래스이름 {...}

📌 메소드 오버라이딩

  • 상속관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 다시 정의하는 것

예제

class Parent {
	private int a; // private 변수는 상속되지 않는다.
    public int b;
    
    public void display(){
    	System.out.println("부모클래스 함수");
    }
}

class Child extends Parent {
	public int c;
    
    public void display(){
    	System.out.println("자식클래스 함수");
    }
}

📌 super

  • 부모 클래스로부터 상속받은 필드나 메소드를 자식 클래스에서 참조하는 데 사용하는 참조 변수

예제

class Parent {
	int a = 10;
}
class Child extends Parent {
	int a = 20;
    void display() {
        System.out.println(a);
        System.out.println(this.a);
        System.out.println(super.a);
    }
}

public class Main {
    public static void main(String[] args) {
        Child ch = new Child();
        ch.display(); /// 20 20 10 출력
    }
}

0개의 댓글