동일성과 동등성에 대해서 설명해 주세요.
·
백엔드 면접
동일성과 동등성은 객체 지향 프로그래밍에서 객체를 비교할 때 중요한 개념입니다. 자바에서는 이 두 개념을 equals() 메서드와 == 연산자를 통해 구분할 수 있습니다. equals()는 객체의 내용을 비교하고,  ==는 객체의 참조를 비교합니다. 따라서 두 객체의 내용이 같더라도 서로 다른 객체라면 equals()는 true를 반환하고, ==는 false를 반환합니다.  동등성(Equality)은 무엇인가요?동등성은 논리적으로 객체의 내용이 같은지를 비교하는 개념입니다. 자바에서는 equals() 메서드를 사용하여 객체의 동등성을 비교합니다. 커스텀 객체의 동등성 비교를 위해서는 equals() 메서드의 오버라이딩이 필수적입니다. 왜냐하면, Object 클래스의 equals() 메서드는 == 연산자를..
일급 컬렉션에 대해서 설명해 주세요.
·
백엔드 면접
일급 컬렉션(First-Class Collection)은 하나의 컬렉션을 감싸는 클래스를 만들고, 해당 클래스에서 컬렉션과 관련된 비즈니스 로직을 관리하는 패턴을 말합니다.// 일급 컬렉션public class Orders { private final List orders; public Orders(List orders) { validate(orders); // 검증 수행 ... } public void add(Order order) { if (order == null) { throw new IllegalArgumentException("Order cannot be null"); } orders.add..