equals()와 hashCode() 는 객체 간의 비교를 위한 Object 클래스의 함수이다. 이 함수들은 Object를 구현한 객체 즉, 자바의 모든 클래스에서 상속하고 있다. equals() equals() 함수는 기본적으로 == 연산자를 사용하여 비교를 한다. 이는 객체 내부의 값을 비교하는게 아니라 객체가 저장된 메모리 위치를 비교하는 것과 같다. /** Indicates whether some other object is "equal to" this one. ... */ public class Object { ... public boolean equals(Object obj) { return (this == obj); } ... } 단순 객체의 주소를 비교하려면 == 연산자를 사용하면 되지만 ..
람다식 람다식은 익명 함수를 생성하기 위한 것으로 자바8 부터 등장하게 되었습니다. 객체 지향 언어인 자바에서 함수 지향에 가까운 람다식을 사용할 수 있게 된 것이죠. 람다식을 사용할 때의 장점은 코드가 간결해지고, 함수형 프로그래밍의 이점을 가져올 수 있기 때문입니다. 사용 이유가 가장 중요하기 때문에 함수형 프로그래밍을 조금 알아보고 갈까요? Functional Programming is programming without assignment satements 클린코드 책에서는 함수형 프로그래밍을 이렇게 정의하고 있습니다. 즉 대입문이 없는 프로그래밍이라는 것인데요. 자바처럼 객체 지향, 명령형 프로그래밍에서는 함수에 값을 대입할 수 있습니다. 그렇기 때문에 대입되는 값에 따라 전혀 다른 결과가 나오..