상속

Byeonghyeon Kim·2021년 6월 23일
0

자바

목록 보기
14/20
post-thumbnail

상속

상속이란

  • 부모 클래스를 상속받은 자식 클래스는 부모 클래스의 속성과 기능도 이용할 수 있음
  • 즉 부모클래스를 상속한 자식클래스로 만든 객체는 두 클래스의 속성과 기능을 모두 이용 가능

상속의 필요성

  • 기존의 검증된 class를 이용해 빠르고 쉽게 새로운 class를 만들 수 있음

상속 구현

  • extends 키워드를 이용해 상속을 구현
// parent
package inheritanceTest;

public class ParentClass {
	
	public ParentClass() {
		System.out.println("ParentClass constructor");
	}
	
	public void parentFunc() {
		System.out.println("Parent Function");
	}
}
// child
package inheritanceTest;

// extends 사용
public class ChildClass extends ParentClass{

	public ChildClass() {
		System.out.println("ChildClass constructor");
	}
	
	public void childFunc() {
		System.out.println("ChildClassFunction");
	}
}
package inheritanceTest;

public class MainClass {
	
	public static void main(String[] args) {
		
		ChildClass child = new ChildClass();
		
		child.parentFunc(); // 이렇게 부모클래스의 메서드도 사용 가능
		child.childFunc();
		
	}

	
	
}

// 출력결과
/*
ParentClass constructor
ChildClass constructor
Parent Function
ChildClassFunction
*/
// 자식 클래스만 생성했는데 자동으로 부모클래스도 생성됨을 알 수 있음
// 또한 부모 클래스의 메서드도 사용 가능한 것을 알 수 있음
  • 자바는 단일상속만 지원함
    • 하나의 클래스는 하나의 클래스만 상속받을 수 있음

부모 클래스의 private 접근자

  • 자식 클래스는 부모 클래스의 모든 자원을 사용할 수 있지만 private 접근자의 속성과 메서드는 사용할 수 없다.
package inheritanceTest;

public class ParentClass {
	
	public ParentClass() {
		System.out.println("ParentClass constructor");
	}
	
	public void parentFunc() {
		System.out.println("Parent Function");
	}
	
    // private 접근자로 만든 속성과 메서드는 자식 클래스에서 사용할 수 없다
	private void privateFunc() {
		System.out.println("private Function");
	}
}
profile
자기 주도 개발전 (개발, 발전)

0개의 댓글

관련 채용 정보