0.
추상클래스
:추상메서드 기입, 변수 작성-> 자식 클래스에서 값 입력
public abstract class AbstractClass {//하나이상의 추상메서드를 포함 한 것
private int number;
public void method() {
System.out.println("AbstractClass method()");
}
public abstract void abstractMethod();
//확장성->추가기입
//대부분 매개변수가 없음
}
1.
child클래스
: 오버라이딩으로 추상클래스 속 동일메서드 생성 후 원하는 값 작성
public class childClass extends AbstractClass{
@Override
public void abstractMethod() {
System.out.println("childClass abstractMethod()");
}
}
2.
My클래스
: 오버라이딩으로 추상클래스 속 동일메서드 생성 후 원하는 값 작성
public class MyClass extends AbstractClass {
@Override
public void abstractMethod() {
System.out.println("MyClass abstractMethod()");
}
}
main
public class mainClass {
public static void main(String[] args) {
/*
Abstract class : 추상 class
추상 method : 선언만 되어있는 함수
abstract int method(char c, int i);
// 중 (char c, int i) ->prototype;(매개변수형식...?)
생성은 불가능하다. 상속받은 class에서 정의를 한 후에 생성이 가능
class : method의 내용이 모두 설정되어 있는 것.
int method(char c, int i){
처리
}
*/
childClass ccls = new childClass();
ccls.method();//상속 받은 클래스에서 사용 //답 : AbstractClass method()
ccls.abstractMethod();//답 : childClass abstractMethod()
System.out.println();
AbstractClass acls = new AbstractClass() {
@Override
public void abstractMethod() {//정의 후 인스턴스로 사용
System.out.println("AbstractClass abstractMethod()");
}
};
acls.method(); //답 : AbstractClass method()
acls.abstractMethod();//답 : AbstractClass abstractMethod()
AbstractClass cls = new childClass();
//부모클래스가 인스턴스를 자식클래스로 잡는것이라서 문제 없음.
//제일 많이 쓰는 형태.
AbstractClass cls2 = new MyClass();
//자식 2명을 묶을 수 있다.(부모 기본메서드에서 호출, 선언 등)
}
}
'JAVA > 기초 문법' 카테고리의 다른 글
접근제한자 정리 (0) | 2020.06.11 |
---|---|
Interface 인터페이스 (0) | 2020.06.09 |
그냥 알아두면 좋은 개념 (0) | 2020.06.05 |
...num (0) | 2020.05.28 |
function 배열 할당 (0) | 2020.05.27 |