Interface 2

자바 기초부터 모던 자바까지 - 람다편

목표 : 람다가 필요한 이유와 자바에서 적용된 내용을 알아본다. 이전 함수형 프로그래밍 포스트에 이어서, 람다에 대해 하나씩 알아가볼 예정이다. 자바에 람다와 함수형 프로그래밍이 왜 필요하지? 아래와 같이 정리해보고자 한다. 이름 없는 함수를 선언할 수 있다. 메서드는 반드시 특정 클래스나 인터페이스 안에 포함되어야 하고 메서드의 이름이 있어야 하지만, 람다 표현식은 이러한 제약에서 벗어난다. 즉, 유연성이 생긴다. 소스 코드의 분량이 획기적으로 줄어들 수 있다. 반복적인 작업이 필요한 기존소스의 비효율성을 낮출 수 있다. 코드를 파라미터로 전달할 수 있다. 외부에서 동작을 정의해서 메서드에 전달할 때 편리하게 사용할 수 있다. 기존의 자바에서 탈피하여 지금 우리가 람다를 공부하는 이유다. 람다 표현식을..

Programming/Java 2022.07.06

자바 기초부터 모던 자바까지 - 인터페이스 편

목표 : 자바의 인터페이스에 대해 알아본다. 인터페이스 인터페이스가 무엇인지 그에 대한 개념을 설명하지는 않겠다. 자바는 다중상속을 지원하지 않는다거나, 추상화에 대한 내용을 모른다면 잘 정리된 다른 포스팅을 찾아 보도록 하자. 자바8부터 람다와 함수형 프로그래밍을 적용하기 위해 인터페이스를 활용하기 시작한다. 그럼 기존의 인터페이스에는 무슨 문제점이 있었고, 어떻게 진화해 온 것인지 먼저 알아보려 한다. 인터페이스의 문제점 인터페이스는 주로 여러 개의 구현체를 통일화한 명세서로 정의하기 위해 사용한다. 그러면 인터페이스를 구현한 클래스들은 동일한 메소드 명으로 통일성을 확보하고, 구현 방법에 상관없이 자신이 원하는 메서드를 호출해 목적을 이룰 수 있다. 그러나, 가장 치명적인 단점은 명세서기 때문에 수..

Programming/Java 2022.07.03