명령형 프로그래밍(OOP)
How to do
선언형 프로그래밍(함수)
What to do
검증되지 않은 유저 이메일을 리스트로 반환
1급 시민의 조건

T(타입)을 받아서 R(리턴)로 반환
함수를 object 타입으로 다룰 수 있지만 거추장스러움 → 람다 사용

2개의 인자 T(타입), U(2번째 인자)을 받아서 R(리턴)로 반환
인자 3개부터는 인터페이스를 직접 구현해야 함


인터페이스 선언에 작성한 <T,U,V,R> 부분은 사용할 때 타입을 넣어줌