- 첫번째 방법은 A객체가 B와 C객체를 New 생성자를 통해서 직접 생성하는 방법 (완제품)
- 두번째 방법은 외부에서 생성된 객체를 setter( )나 생성자를 통해 사용하는 방법 (조립) -> 주입 (Injection)
📍 IoC를 사용하지 않을 때
- 개발자가 객체를 직접 신규로 생성
📍 IoC
- IoC에서는 개발자가 객체를 직접 생성하지 않고 프레임워크가 객체를 생성, 관리
- 의존성 주입을 하게 되면, 아래 그림과 같이 역방향으로 객체를 주입
메서드를 하나의 '식(expression)'으로 표현한 것
메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명 함수(anonymous function)'라고도 한다.
메서드에서 이름과 반환타입을 제거하고 매개변수 선언부(파라미터)와 바디{ } 사이에 -> 를 추가
✔ LambdaExample.java
interface Printable { void print(String s); } //class Printer implements Printable { // // @Override // public void print(String s) { // System.out.println(s); // } // //} public class LambdaExample { public static void main(String[] args) { Printable prn = (s) -> {System.out.println(s);}; prn.print("옥수수"); System.out.println("난 기억나"); } }
- 결과