JAVA/추상클래스와 인터페이스, 내부클래스

추상 메서드와 추상 클래스

별초롱언니 2025. 5. 12. 17:11

1. 추상 메서드

추상 메서드는 선언부만 정의하고 구체적인 내용은 비워놓은 메서드 

abstract를 메서드명 앞에 붙여준다

 

2. 추상 클래스

추상 클래스는 추상 메서드를 멤버로 가지는 클래스입니다. 추상 클래스는 일반적인 메서드도 가질 수 있지만 추상 메서드를 하나라도 포함하는 클래스입니다. 

 

package chapter08;

abstract class Pokemon {
	String name;
	
	abstract void attack();
	abstract void sound();
	
	public String getName() {
		return this.name;
	}
}

class Pikachu extends Pokemon {
	Pikachu() {
		this.name = "피카츄";
	}

	@Override
	void attack() {
		System.out.println("전기 공격!");
	}

	@Override
	void sound() {
		System.out.println("피카 피카!!");
	}
	
}

class Squirtle extends Pokemon {
	Squirtle() {
		this.name = "꼬부기";
	}

	@Override
	void attack() {
		System.out.println("물 공격!");
	}

	@Override
	void sound() {
		System.out.println("꼬북 꼬북!!");
	}
}


public class exam54 {

	public static void main(String[] args) {
		Pikachu pikachu1 = new Pikachu();
		System.out.println("이 포겟몬은 : " + pikachu1.getName());
		pikachu1.attack();
		pikachu1.sound();
		
		Squirtle squirtle1 = new Squirtle();
		System.out.println("이 포켓몬은 : " + squirtle1.getName());
		squirtle1.attack();
		squirtle1.sound();
	}
	
}

 

'JAVA > 추상클래스와 인터페이스, 내부클래스' 카테고리의 다른 글

내부 클래스  (0) 2025.05.12
인터페이스  (0) 2025.05.12