언어/JAVA

JAVA_인터페이스

asu2880 2022. 5. 25. 21:32

구현 순서

  1. 동물, 강아지, 고양이, 사자, 보살핌 총 5개 클래스 만들기
  2. 동물 클래스는 추상클래스로 만들고, 먹기 메소드도 추상메소드로 만들기
  3. 강아지, 고양이, 사자 클래스는 동물 클래스로 상속하기
  4. 강아지, 고양이 클래스는 보살핌 클래스로 인터페이스로 구현

 

- 동물 클래스

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