본문 바로가기
프로그래밍/JAVA 자바 A-Z

[Java 자바 기초] 인터페이스 interface, 다중 상속, 추상메소드, 추상클래스, extends & implements, 객체 할당

by nisne 2020. 8. 31.

모든 설명은 주석으로 확인할 수 있어요.

하나씩 따라해 보세요. ^^

 

package javaEx;

/*
인터페이스 interface
- 추상메소드로만 구성 > 추상클래스와 다른 점
- 부모 역할만 > 추상메소드를 모두 오버라이드해야 함
- 직접 객체 할당 불가
- 여러 개 상속 가능
- 문법
	interface 클래스명{}

상속
	확장 extends 		- 부모가 클래스일 때
	구현 implements	- 부모가 인터페이스일 때
 */

//인터페이스
interface Animal{
	abstract void view();	//인터페이스의 모든 메소드는 추상메소드이기 때문에 abstract를 붙여야 하지만
	void disp();			//abstract 생략 가능
}//Animal end

//자식클래스
class Lion implements Animal{	//인터페이스 Animal을 상속받으려면 implements
	@Override
	public void view() {			//미완성 메소드를 완성시켜야만 에러를 없을 수 있다
		System.out.println("사자");
	}
	@Override
	public void disp() {
		System.out.println("Lion");
	}
}

//인터페이스
interface Move{
	void legs();
}

//클래스
class Eyes{
	public void see() {
		System.out.println("눈");
	}
}

//자식클래스
class Tiger extends Eyes 
			implements Animal, Move{	//인터페이스는 다중 상속 가능
	@Override
	public void view() {
		System.out.println("호랑이");	
	}
	@Override
	public void disp() {
		System.out.println("Tiger");
	}
	@Override
	public void legs() {
		System.out.println("4개");
	}
}


public class Review {
	
	public static void main(String[] args) {
		
		//Animal ani = new Animal();		//인터페이스는 객체 할당 불가
		
		Lion li = new Lion();
		li.view();
		li.disp();
		
		//클래스, 인터페이스 모두 상속받은 자식클래스
		Tiger ti = new Tiger();
		ti.view();
		ti.disp();
		ti.legs();
		ti.see();

	}//main() end

}//class end

 

영어를 어느 정도 잘하면 프로그래밍에도 많은 도움이 되더군요.

영어를 배울 수밖에 없다면... ^_^

 

 

댓글