자바(3)
-
자바 람다
람다는 익명 함수를 만드는 것이라고 볼 수 있다. 익명 함수는 이름, 리턴 타입이 없다. 매개변수의 타입도 생략하거나 명시하거나 고를 수 있다. 자바는 매개변수와 리턴 자료형까지 추론할 수 있는데 아직 어떻게 추론이 구현되어 있는지는 알 수 없다.. 정 불안하다면 매개변수에도 자료형을 써서 표시해주자.. (매개변수)(a,b) -> 함수 body; 의 형식으로 써줄 수 있다. 람다를 이용하려면 함수형 인터페이스를 이용해서 인터페이스를 객체화 해놓고 람다식으로 간단히 표현한 뒤에 이용해줄 수 있다. 함수형 인터페이스는 사용자가 직접 만들어줄 수도 있지만 기존에 만들어놓았던 여러 개의 함수형 인터페이스들을 쓸 수 도 있다. 해당 값들은 import java.util.function.* 에서 볼 수 있다. 함수..
2022.10.31 -
자바의 함수형 인터페이스
함수형 인터페이스란 무엇인가? 함수형 인터페이스는 인터페이스에 오직 하나의 추상 메서드만을 가지고 있는 것을 말한다. 함수형 인터페이스는 Object 메서드들을 제외한, 오직 하나의 추상 메서드를 가진다. 추상 메서드를 제외한 static, default 메소드들은 존재할 수 있다. 인터페이스 내에서 static 메서드는 오버라이딩이 불가능하지만 default 메서드는 가능하다. ※ default 메소드란 기존 접근제어자에서 아무것도 쓰지 않은 것을 말하지만 인터페이스에서는 default 라는 제어자를 명시해주어야하며 해당 접근제어자를 가진 메서드를 이용하면 인터페이스에서도 구현을 할 수 있게 된다 기존 개념과 다른 방식으로 하게 된 이유는 인터페이스에 새로운 추상 메서드가 들어오게 되면 해당 인터페이스..
2022.10.29 -
Java 상속
클래스를 만들 때 공통된 변수들이나 함수들이 있다면 해당 공통점을 모아서 클래스로 만들어줄 수 있다. 해당 클래스의 공통점을 모아서 다른 클래스에 상속시킬 수 있다. 상속시켰을 때 해당 클래스를 부모(base, parent) 클래스라고 할 수 있고, 자식(child)클래스라고 할 수 있다. public class Student extends Person{ .... } extends 키워드를 이용해서 person을 상속받아서 person 안의 멤버변수랑 함수를 이용할 수 있게 된다. 그런데 person 을 상속받는데 person에서 생성자 있는데 상속을 받을 때는 생성자를 써서 초기화를 해줄 수가 없다. 해당 문제는 super함수를 이용해서 해결할 수 있다. public class Person { Stri..
2022.08.20