태그

#JAVA

JAVA - abstaract

2021년 6월 15일 01:14

51-thumbnail-image

추상 클래스 추상 메소드

부모 클래스에도 abstatact 를 붙일 수 있고
부모 클래스에 있는 부모 메소드에도 붙일 수 있다

추상 클래스는 고유 메소드가 있을 수도 있고 없을 수도 있다
추상 메소드는 자식 클래스에서 꼭 오버라이드 해주어야 한다

ex)

AnimalTest

public class AnimalTest {
	public static void main(String[] args) {
	
		Animal anumal = new Tiger(); // tiger -> animal upcasting
	
		anumal.eat();
		anumal.cry();
	
	}
}

Animal

// 부모 클래스
public abstract class Animal {
	// 추상 메소드 : 자식 클래스가 반드시 구현해야 하는 메소드다
	public abstract void cry();
	
	// 일반 메소드
	public void eat() {
		System.out.println("냠냠");
	}
}

Dog

// 자식 클래스
public class Dog extends Animal{
	@Override
	public void cry() {
		System.out.println("멍멍머엄어멍멍멍멍멍");
	}
}

Tiger

// 자식 클래스
public class Tiger extends Animal{
	@Override
	public void cry() {
		System.out.println("어흐으응!!");
	}
}