Java9일차 2(추상)
2022. 11. 22. 11:10ㆍ코딩배움일지/JAVA
클래스 ( 변수와 메소드를 포함한다.)
super.move = method이다. = super.move = 메소드를 호출한걸다
class A
메소드 정의 를 해야
super.move를 호출 할 수 있다.
메소드 호출이라는 것은 기능이 동작하는 것이다.
public abstract class Animal {
/*
추상메서드를 하나라도 포함하는 클래스
추상클래스로 정의하여야 한다.
*/
private String name;
public Animal(){ /*기본 생성자 정의하여야 상속 가능*/ /*생성자는 숨겨져 있다.*//*건드렸으면 다시 새로 만들어 줘야함*/
}
public Animal(String name) {
System.out.println(name + "이(가) 생성되었습니다.");
//this.name = name;
}
//추상메소드
public abstract void move(); /*구현부 {}가 필요 없음*/ /*꼭 필요하지는 않다.*/ /*새로 new 할 수 없다.*/
public void eat(){
System.out.println("동물이 밥을 먹습니다.");
}
}
public class Human extends Animal{
public Human(){
super("사람"); /*super는 대개 생략되어 있다.*/
}
@Override
public void move(){
System.out.println("사람이 움직인다.");
}
}
public class Tiger extends Animal{
@Override
public void move() {
System.out.println("호랑이가 움직인다.");
}
}
public class AnimalMain{
public static void main(String[] args) {
Animal[] animals = new Animal[2];
animals[0] = new Human(); /*사람이 생성 되었습니다. 객체 생성 */
animals[1] = new Tiger();
for (int i = 0; i < animals.length; i++){
animals[i].move();
}
// Animal animal = new Animal();
// animal.move();
}
}
'코딩배움일지 > JAVA' 카테고리의 다른 글
Java 9일차 4(인터페이스) (0) | 2022.11.22 |
---|---|
Java 9일차 3 (0) | 2022.11.22 |
Java 9일차 1(업캐스팅 다운캐스팅) (0) | 2022.11.22 |
Java 8일차 4(다운캐스팅) (0) | 2022.11.21 |
Java 8일차 3(업캐스팅) (0) | 2022.11.21 |