728x90

인터페이스 3

[Java] 함수형 인터페이스란?

함수형 인터페이스(Functional Interface) 란? 자바에서는 람다식을 통해 순수함수를 선언 할 수 있게 되었지만, 자바는 기본적으로 객체지향 언이이기 때문에 순수함수와 일반함수를 다르게 취급하고 있다. 이를 구분하기위해서 자바에서는 함수형 인터페이스라는것이 나오게 되었다. 함수형 인터페이스란 함수를 1급 객체처럼 다룰 수 있게 해주는 어노테이션으로, 인터페이스에 선언하여 단 하나의 추상 메소드만을 갖도록 제한하는 역할을 한다. 함수형 인터페이스를 사용하는 이유는 Java의 람다식이 함수형 인터페이스를 반환하기 때문이다. 예를 들어 우리가 두 값 중 큰 값을 구하는 익명 함수를 개발하였다고 하자. 그러면 우리는 지금까지 다음과 같이 개발을 하였을 것이다. public class Lambda {..

JAVA 2022.04.09

[Java] 인터페이스란?

인터페이스(interface)란? 자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가질 수 있습니다. 하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않습니다. 그렇지만 다중 상속의 이점을 버릴수는 없기에 Java에서는 interface 를 통해 다중 상속을 지원하고 있습니다. 인터페이스란? 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미합니다. 자바의 추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함을 할 수 있습니다. 하지만 인터페이스는 오직 추상 ..

JAVA 2022.03.25

[Spring] 스프링 핵심 원리 - 기본편(1)

https://start.spring.io/ 주소를 통해서 스프링 초기 Setting을 할 수 있음. Project Metadata 부분에서 Artifact는 프로젝트의 빌드명이 된다. 윈도우 기준 Settings에서 Gradle를 검색하면 Gradel Projects를 설정 할 수 있다. Build and run using 과 Run tests using을 InjelliJ IDEA로 설정해주면 실행해주는 속도를 빠르게 할 수 있을 것이다. Q. 인터페이스를 사용하는 목적? 인터페이스를 사용하는 가장 큰 목적은 선언과 구현을 분리하기 위함. 그래서 사용하는 입장에서 인터페이스만 의존하고, 구현을 모르도록 하는 것. 그래야 향후 구현을 했을때, 클라이언트 코드를 변경하지 않아도 되기 때문. 인터페이스를 사..

JAVA 2021.07.13
728x90