모든 설명은 주석으로 확인할 수 있어요.
하나씩 따라해 보세요. ^^
package javaEx;
/*
추상클래스 Abstract class
- 미완성 클래스로, 미완성의 추상메소드가 1개 이상 있는 클래스
- new 연산자 사용하여 객체 생성 불가
- 추상클래스는 주로 부모 역할
- 추상클래스를 상속받은 자식클래스에서는 추상클래스에서 미완의 추상메소드를 완성해줘야 함
- 문법
abstract class 클래스명{}
일반메소드
리턴형 함수명() {}
추상메소드
리턴형 함수명() >처리명령어 body{}가 없는 미완성 메소드, 즉 메소드를 선언만 해둔 상태
*/
//추상클래스
abstract class Animal{
String name;
void view() {} //일반메소드
abstract void disp(); //추상메소드
}//Animal end
//자식 클래스
class Lion extends Animal{
@Override
void disp() { //미완성의 추상메소드를 완성
System.out.println("사자");
}
}//Lion end
class Tiger extends Animal{
@Override
void disp() { //미완성의 추상메소드를 완성
System.out.println("호랑이");
}
}//Tiger end
public class Review {
public static void main(String[] args) {
//Animal ani = new Animal(); //추상클래스는 new로 객체 생성 불가
Lion li = new Lion();
li.disp();
Tiger ti = new Tiger();
ti.disp();
//추상클래스를 자료형으로 받아 자식클래스로 객체 생성 > 다형성
Animal ani = new Lion();
ani.disp();
ani = new Tiger(); //ani 객체에 Tiger 클래스 대입
ani.disp();
}//main() end
}//class end
영어를 어느 정도 잘하면 프로그래밍에도 많은 도움이 되더군요.
영어를 배울 수밖에 없다면... ^_^
댓글