[Java]
자바 익명클래스 실습
ho-bolt
2021. 9. 10. 16:24
여기서 익명클래스가 나온다. 스벅객체 gangnam을 만들고 regist하면 추상클래스 c를 넘긴다. 따라서 익명클래스 타입인 new Cafe를 넘기게 되고 new Cafe(){ }가 전체 객체가 된다.
이 sell메소드에서 getMenu(), getPrice()를 사용할 수 있는 이유는 같은 클래스안에 있기 때문이다.
전체적인 흐름check!
interface Cafe는 메뉴,가격배열과 입력받은 menuName을 파는 메소드를 가지고 있고
스타벅스 클래스에서 그 인터페이스 Cafe를 객체로 받으면서 regist()를 수행한다.
그래서 c.getPrice(),c.getMenu() 함수를 수행할 수 있다.
그럼 실행하는 Road 클래스에서 스벅 객체를 만들어주고 regist()를 해주는데
regist()는 인터페이스 Cafe를 넘겨야 하고 이게 익명클래스 객체이다.
그래서 오버라이드 하며 재정의를 해줘야 한다. why? 인터페이스라 정의가 안되어 있기 때문에 !! .
그러면 실행했을 때
이렇게 나오게 된다.
728x90