개발 일기
JAVA 상속 공부 4 (feat. 추상클래스 abstract - 제한자) 본문
추상(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. 기존에 마크다운 형식으로 진행 할 때 제가 잘 몰라서 그러는지,,
원하는대로 화면 노출이 잘 안되어 앞으로는 위 처럼 소스를 캡쳐해서 붙히고 설명 살을 붙혀보겠습니당!!
감사합니다.
'JAVA 공부' 카테고리의 다른 글
JAVA 에서 제공하는 기본 API java.lang 1 (feat. String API) (0) | 2021.06.20 |
---|---|
JAVA 상속 공부 5 (feat. 인터페이스 Interface) (0) | 2021.06.18 |
JAVA 상속 공부 3 (feat. 객체형변환) (0) | 2021.06.16 |
JAVA 상속 공부 2 (feat.Overriding = 재정의 란??) (0) | 2021.06.15 |
JAVA 상속(extends)에 대한 복습! (0) | 2021.06.14 |
Comments