반응형
package dayday11;
/*
* 추상 클래스와 메소드
* - > 형태가 없는 메소드
* - > 어차피 자식 클래스가 오버라이드할 운명의 메소드라면 굳이 몸통을 만들필요는 없다.
*
* - > 추상메소드는 추상클래스에서만 선언 가능
* 우리가 방금 만든 Shape클래스를 추상 클래스로 만들어보자
* - > 추상 : abstract KEYWORD
* - 선언 : abstract 클래스명{..}
* - 추상 메소드 선언 : abstract 접근 제어자 리턴 자료형 method(매개변수);
* (몸통대신 -> ;)
*/
abstract class Shape {
String name = "도형";
Shape(String name){
this.name = name;
}
abstract public double getArea();//몸통이 없는 미완성 .. 메소드
public void showMessage(){
System.out.println(name + "의 넓이 : " + getArea());
}
}
//
//CLASS SADARI EXTENDS SHAPE{ // 추상 메소드는 자식클래스가 반드시 오버라이드 해야한다.
//
// SADARI(STRING NAME) {
// SUPER(NAME);
// // TODO AUTO-GENERATED CONSTRUCTOR STUB
// }
//
// @OVERRIDE
// PUBLIC DOUBLE GETAREA() {
// // TODO AUTO-GENERATED METHOD STUB
// RETURN 0;
// }
//
//}
public class test03 {
public static void main(String[] args) {
//추상 클래스의 객체 생성
Shape s = new Shape("도형"){
public double getArea(){
System.out.println("즉석에서 만듬");
return 0;
}
}; //아직 getArea미완성 -> 그 객체만을 위해 즉석에서 만드는 행위 :
//익명클래스.. 이름이 없는 클래스다. s라는 클래스에만 적용가능
s.getArea();
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] 출판사 책 관리 - 클래스 활용 예제 (0) | 2023.04.21 |
---|---|
[JAVA] method override(재정의) 사용 예제 (0) | 2023.04.21 |
[JAVA] interface(인터페이스) 사용 예제 (0) | 2023.04.21 |
[JAVA] polymorphism(다형성), up&down casting 사용 예제 (0) | 2023.04.21 |
[JAVA] Abstract class를 사용한 미니게임[탱크vs스나이퍼] 예제 (0) | 2023.04.20 |