[Java] Inheritance(상속)

2019. 1. 31. 23:45프로그래밍 언어/JAVA

Java 상속

자식 Class가부모 Class의 속성(멤버변수)과 함수(메서드)를 이용할 수 있도록 물려받는 것.

기존의 검증된 클래스를 기반으로 새로운 클래스를 빠르고 손쉽게 만들수 있게 된다.


객체 지향 프로그래밍(OOP)에서, 상속(inheritance)은 객체들 간의 관계를 구축하는 방법이다. 클래스로 객체가 정의되는 고전 상속에서, 클래스는 기반 클래스, 수퍼클래스, 또는 부모 클래스 등 기존 클래스로부터 속성과 동작을 상속받을 수 있다.


- 출처 - 

위키백과_ 객체 지향 프로그래밍 상속


- 자바는 단일 상속만 지원. 다중 상속은 지원하지 않는다.

- 다이어그램 상속은 실선으로 자식-> 부모 방향으로 



Method override

부모 클래의 기능을 상속받은 자식클래스에서 메서드의 기능을 재정의하여 사용하는 것

오버라이드한 메서드임을 명확하게 나타내기 위해 아래와 같이 나타낼 수 있다.


@Override

public void ~~~~() {

}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package tests;
 
public class MainClass {
 
    public static void main(String[] args) {
        
        ChildClass child = new ChildClass();
        child.childFun();
        child.parentFun();
        
        child.privateFun();
 
    }
 
}
 
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package tests;
 
public class ParentClass {
    public ParentClass() {
        System.out.println("ParentClasss() constructor");
    }
    
    public void parentFun() {
        System.out.println("parentFun()");
    }
    
    private void privateFun() {
        System.out.println("privateFun()");
    }
}
 
cs



Data type

Class 또한 기존의 데이터 타입과 같이 쓰인다. 



Object Class

모든 클래스의 최상위 클래스는 Object 클래스 이다.


Super Class

상위 클래스 호출 시 super 키워드를 이용한다. 


this : 자기 자신을 가리키는 지시어

super : 부모(상위) 클래스를 가리키는 지시어

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

내부 클래스 / 익명 클래스  (0) 2019.02.01