익명 클래스
public class _01_AnonymousClass1 {
public static void main(String[] args) {
class Coffee {
public void order(String coffee) {
System.out.println("주문하신 " + coffee + " 나왔습니다.");
}
Coffee c1 = new Coffee();
c1.order("아메리카노");
System.out.println("----------------");
Coffee c2 = new Coffee();
c2.order("라떼");
System.out.println("----------------");
// 굉장히 친한 친구 방문
Coffee specialCoffee = new Coffee() {
@Override
public void order(String coffee) {
super.order(coffee);
System.out.println("(귓속말) 딸기 케이크는 서비스예요.");
}
익명클래스 (2)
_02_AnonymousClass2
public class _02_AnonymousClass2 {
public static void main(String[] args) {
HomeMadeBurger momMadeBurger = getMomMadeBurger();
momMadeBurger.cook();
abstract class HomeMadeBurger {
public abstract void cook();
}
public static HomeMadeBurger getMomMadeBurger() {
return new HomeMadeBurger() {
@Override
public void cook() {
System.out.println("집에서 만드는 엄마표 수제 버거");
System.out.println("재료 : 빵, 소고기패티, 해시브라운, 양상추, 마요네즈, 피클");
}
};
*getMomMadeBurger로 cook 메소드를 그 때 그 때 만들어 사용 (익명클래스)
람다식
public class _03_Lambda {
public static void main(String[] args) {
// 람다식
// (전달값1, 전달값2, ...) -> { 코드 }
}
// public void print() {
// String s = "test";
// System.out.println(s);
// }
// () -> {
// String s = "test";
// System.out.println(s);
// }
// public void print(String s) {
// System.out.println(s);
// }
// s -> System.out.println(s)
// public int add(int x, int y) {
// return x + y;
// }
// (x, y) -> x + y
}
'인강 보습 (인프런,유데미,패스트캠퍼스) > 나도코딩의 자바 기본편' 카테고리의 다른 글
예외처리 - (1) Try Catch , Catch구문, Throw, (1) | 2023.01.19 |
---|---|
익명 클래스, 람다와 스트림 - (2) 함수형 인터페이스, 스트림 (0) | 2023.01.19 |
제네릭스 (3) - HashSet, HashMap, Iterator (0) | 2023.01.18 |
제네릭스 (2) - Wrapper 클래스, ArrayList, LinkedList (0) | 2023.01.18 |
제네릭스 - (1) (0) | 2023.01.18 |