본문 바로가기
카테고리 없음

20250529_java(추상클래스, 인터페이스)

by greentworkshop 2025. 5. 29.
interface Greeting{
	void sayHello();
}


public class GreetingEx {
	public static void main(String[] args) {
		//Hello_Greetig greeting=new Hello_Greeting() {
		Greeting greeting = new Greeting(){
			public void sayHello() {
				System.out.println("Hello Everybody");
			}
		};
		greeting.sayHello();
	}
}
/*람다식으로 변환
interface Greeting{
	void sayHello();
}

public class GreetingEx {
	public static void main(String[] args){
		Greeting greeting = ();
		Systme.out.println("Hello Everybody");
		greeting.sayHello();
	}
}
*/

/*----------------------------------------------------------------------------------------
interface Greeting{
	void sayHello();
}

class Hello_Greeting implements Greeting{
	@Override
	public void sayHello() {
		System.out.println("Hello Everybody");
	}
}
public class GreetingEx {
	public static void main(String[] args) {
		//Hello_Greetig greeting=new Hello_Greeting();
		Hello_Greeting greeting = new Hello_Greeting();
		greeting.sayHello();
	}
}
*/
abstract class Animal {
    public abstract void sound();
    
    public void sleep() {
        System.out.println("Sleeping...");
    }
}

// 정식 클래스 상속 예시 (사용하진 않지만 오류는 수정)
class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("Woof Woof");
    }
}

public class Main05 {
    public static void main(String[] args) {
        // 익명 내부 클래스 형태로 Animal 구현
        Animal dog = new Animal() {
            @Override
            public void sound() {
                System.out.println("Woof Woof");
            }
        };

        dog.sound(); // 대소문자 수정
        dog.sleep(); // 대소문자 수정
    }
}
interface MyInterface{
	public void method();
}

class Inf implements MyInterface {
	@Override
	public void method() {
		System.out.println("aaa");
	}
} ;

public class Main04 {
 public static void main(String[] args) {
	MyInterface sub=()-> {
		 System.out.println("sub1");
		 sub.method();
	}
 }
//람다식 변환