Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Everything has an expiration date

119 - Java 인터페이스(Interface) : 인터페이스를 구현(implements)하는 과정에서 추상 클래스가 된 클래스를 다시 상속받아 인터페이스의 모든 추상 메소드를 오버라이딩하는 프로그램 본문

[Java]/Program source (java)

119 - Java 인터페이스(Interface) : 인터페이스를 구현(implements)하는 과정에서 추상 클래스가 된 클래스를 다시 상속받아 인터페이스의 모든 추상 메소드를 오버라이딩하는 프로그램

Jelly-fish 2023. 9. 14. 17:08
/*==============================
  ■■■ 클래스 고급 ■■■
  - 인터페이스(Interface)
================================*/

// 인터페이스
interface Demo
{
	public void write();
	public void print();
}


// 클래스
//class DemoImpl
// 인터페이스를 구현하는 추상 클래스
abstract class DemoImpl implements Demo		
{
	@Override
	public void write()
	{
		System.out.println("write() 메소드 재정의...");
	}
	
	// public abstract void print();

}


// 클래스
//class DemoImplSub
//class DemoImplSub extends DemoImpl
// 추상 클래스를 상속받은 추상 클래스
//abstract class DemoImplSub extends DemoImpl
// 추상 클래스를 상속받은 클래스
class DemoImplSub extends DemoImpl
{
	/*
	public void write()
	{
		System.out.println("write() 메소드 재정의...");
	}
	
	
	// public abstract void print();
	*/


	@Override
	public void print()
	{
		System.out.println("print() 메소드 재정의...");
	}
}


// main() 메소드를 포함하는 외부의 다른 클래스
public class Test119
{
	public static void main(String[] args)
	{
		// Demo ob1 = new Demo();
		//-- 인스턴스 생성 불가 → 인터페이스

		// DemoImpl ob2 = new DemoImpl();
		//-- 인스턴스 생성 불가 → 추상 클래스

		DemoImplSub ob3 = new DemoImplSub();

		ob3.write();
		ob3.print();
		//--==>> write() 메소드 재정의...
		//       print() 메소드 재정의...
	}
}

// 실행 결과

/*
write() 메소드 재정의...
print() 메소드 재정의...
계속하려면 아무 키나 누르십시오 . . .
  
*/