본문 바로가기
Backend/JAVA

[JAVA] 상속 (Inheritance)

by howdyoon 2023. 3. 20.

기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것

코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다.

- 재활용
- 부모와 자식, 조상과 후손(파생), super와 sub
- extends 확장, implements 구현
- 형식) 자식 extends 부모 {}

package oop0317;

public class Test05_sangsok {

	public static void main(String[] args) {
		//AA클래스 생성하고 실습
		
		AA aa=new AA();
		aa.one();
		aa.two();
		//aa.zero; 에러. private속성은 클래스 내부에서만 접근 가능하다
		System.out.println("--------------");
		
		BB bb=new BB();
		bb.three();
		bb.one();
		bb.two();
		//bb.zero; 에러. private속성은 상속되지 않는다
		System.out.println("--------------");
		
		CC cc=new CC();
		cc.three();
		cc.one();
		cc.two();
		
	}//main() end
}//class end

[ AA클래스 ]

package oop0317;

//종단클래스는 상속 받을 수 없다
//final class AA{}

class AA {
	private void zero() {} //상속되지 않음
	public void one() {
		System.out.println("AA.one()...");
	}
	public void two() {
		System.out.println("AA.two()...");
	}
}//class end

//자식클래스 BB, 부모클래스 AA
class BB extends AA{
	public void three() {
		System.out.println("BB.three()...");
	}
}//class end

//자식클래스 CC, 부모클래스 BB
class CC extends BB{
	public void four() {
		System.out.println("CC:four...");
/*		
//에러.
//클래스간의 상속은 단일상속만 가능하다
class DD{}
class EE extends AA, DD {}
*/	

	}
}//class end

'Backend > JAVA' 카테고리의 다른 글

[JAVA] Calendar  (0) 2023.03.21
[JAVA] override  (0) 2023.03.20
[JAVA] quiz : 성적프로그램 OX 표시하기  (0) 2023.03.20
[JAVA] wrapper  (0) 2023.03.20
[JAVA] final  (0) 2023.03.20