// Some1 s1 = new Some1(); --> 이거 안하는거 이제는 알지...?
// 추상화를 높여서 인터페이스를 끌고와. 다형성 활용하자 진짜로ㅠ퓨ㅠㅠ
// **기억해** 우항에는 주소값이 들어갈 수 있으며, Testable을 상속받은 친구들의 인스턴스, 매서드를 사용한다
interface Testable{ // 1. 인터페이스 생성했으면 매서드를 실행시킬 클래스들이 필요하겠지
public void test1(int a, int b);
public void test2();
}
class Some1 implements Testable{ // 2. 상속받을거양
public void test1(int a, int b) {
}
public void test2() {
}
}
// ## 익명 객체 생성(사실상 안씀 --> 넘어가자)
// --> 클래스를 굳이굳이 밑에서 정의하고싶지 않을 때
// 다른 폴더에서 인터페이스 선언하고, 필드 만드는걸 main에서 한번에 할 수 있다
// 하지만 1회성이라는것.... 정의하자마자 생성했으니.
Testable s2 = new Testable() {
int a;
int v2;
@Override
public void test1(int a, int b) {
System.out.println("안녕");
}
@Override
public void test2() {
System.out.println("반갑");
}
};
// 1-1) 호출
s2.test1(11, 0);
'JAVA > DAY 20 _ 23.09.13' 카테고리의 다른 글
Lambda5_consumer(interface) (0) | 2023.09.13 |
---|---|
Lambda4_메서드참조 (0) | 2023.09.13 |
Lambda3_구현코드가 한줄일때 활용법 (0) | 2023.09.13 |
Lambda2 (0) | 2023.09.13 |
Lambda Basic (0) | 2023.09.13 |