JAVA 공부
JAVA 상속 공부 4 (feat. 추상클래스 abstract - 제한자)
개발 일기
2021. 6. 17. 21:00
추상(abstarct)클래스란?
정의
1) 하나이상의 추상메쏘드가 정의되어있는 클래스
2) 추상메쏘드가 존재하지 않으나 객체생성을 막기위해 만든 클래스
ex> public abstarct class Test{
//추상메쏘드();
public abstarct int print(int i);
//일반메쏘드();
public void test(){
}
}
==>추상메쏘드: 메쏘드의 구현부분(바디{})이 없고 선언부(signature)만 존재하는 메쏘드
ex> public abstarct int print(int i);
특징
- 추상클래스는 불완전한 추상메쏘드를 가지므로 객체생성이 불가능하다.
- Test t=new Test();(X)
- 추상클래스는 추상클래스를 상속받아서 추상메쏘드를 구현(오버라이딩)하는 자식 클래스를 만들어
- 사용(객체생성)해야한다.
코딩 예시)
// 추상메쏘드 2를 가진 추상클래스 AbstractClass 생성
//추상클래스 AbstractClass를 상속(extends)받는 AbstractClassChild를 생성
// 메인 클래스 생성 후 출력
AbstractClassChild의 객체를 AbstractClass 부모 클래스로 객체형변환 후 메소드 노출까지 진행 해보았습니다.
이번에는 추상클래스를 생성 한 뒤 상속받은 클래스에
오버라이딩(재정의)을 진행하여 출력을 했습니다.
ps. 기존에 마크다운 형식으로 진행 할 때 제가 잘 몰라서 그러는지,,
원하는대로 화면 노출이 잘 안되어 앞으로는 위 처럼 소스를 캡쳐해서 붙히고 설명 살을 붙혀보겠습니당!!
감사합니다.