구현 순서
- 동물, 강아지, 고양이, 사자, 보살핌 총 5개 클래스 만들기
- 동물 클래스는 추상클래스로 만들고, 먹기 메소드도 추상메소드로 만들기
- 강아지, 고양이, 사자 클래스는 동물 클래스로 상속하기
- 강아지, 고양이 클래스는 보살핌 클래스로 인터페이스로 구현
- 동물 클래스
package 상속;
public abstract class 동물 { //추상클래스
public void 숨쉬기() {
}
public void 잠자기() {
}
public abstract void 먹기(); //추상메소드
}
- 강아지 클래스
package 상속;
public class 강아지 extends 동물 implements 보살핌{
public void 빵야() {
System.out.print("강아지 빵야빵야");
}
@Override
public void 먹기() {
System.out.print("강아지 밥 먹자");
}
@Override
public void 목욕() {
}
@Override
public void 놀아주기() {
}
}
- 고양이 클래스
package 상속;
public class 고양이 extends 동물 implements 보살핌{
public void 펀치() {
System.out.print("고양이 펀치");
}
@Override
public void 먹기() {
System.out.print("고양이 밥 먹자");
}
@Override
public void 목욕() {
}
@Override
public void 놀아주기() {
}
}
- 사자 클래스
package 상속;
public class 사자 extends 동물{
public void 어흥() {
System.out.print("사자 어흥");
}
@Override
public void 먹기() {
System.out.print("사자 밥 먹자");
}
}
- 보살핌 클래스
package 상속;
public interface 보살핌 {
public abstract void 목욕();
public abstract void 놀아주기();
}
추상클래스를 사용하는 이유
1. 실제적으로 존재하지 않는 개념들을 메모리에 구현하지 않기 위해서
2. 자식클래스에 메소드를 강제로 구현시키기 위해서
추상클래스 VS 추상메소드
인터페이스에는 변수를 만들 수 없으므로, 추상클래스에서 변수 선언해주기
728x90
반응형
'언어 > JAVA' 카테고리의 다른 글
자바용어 (0) | 2022.06.03 |
---|---|
JAVA_Try-Catch (0) | 2022.05.27 |
Java - JAVA8 변경 사항 (0) | 2020.09.24 |
Java - print & printIn 비교 (0) | 2020.09.24 |
Java - 자바 표준 입출력 클래스 System.out.println() (0) | 2020.09.24 |