본문/내용
1. Java의 클래스와 인터페이스의 차이점에 대해 설명하세요.
Java의 클래스와 인터페이스는 객체 지향 프로그래밍에서 중요한 역할을 합니다. 클래스는 객체의 속성과 행동을 정의하며, 상태와 행동을 갖는 인스턴스를 생성하는 설계도입니다. 예를 들어, 사용자 데이터를 저장하는 User 클래스를 만들 경우, 이름, 이메일 등의 필드와 로그인, 로그아웃과 같은 메서드가 포함됩니다. 반면, 인터페이스는 특정 기능을 구현하도록 강제하는 계약서 역할을 합니다. 예를 들어, Comparable 인터페이스는 compareTo 메서드의 구현을 요구하여, 다양한 객체들이 정렬 기준을 갖게 합니다. 구체적으로, Java 8 이후 팩토리 메서드와 디폴트 메서드가 도입되어 인터페이스는 일부 구현도 포함할 수 있습니다. 이는 다중 상속의 한계와 복잡성을 해소하는 데 도움을 줍니다. 데이터 조회, 저장)을 구현할 수 있어 유지보수성과 확장성이 30% 향상된 것으로 나타났습니다. 클래스는 인스턴스 생성을 위해 필요하지만, 인터페이스는 구현체 간의 상호 호환성을 통해 시스템 유연성을 높입니다. 즉, 클래스는 구체적 객체 설계에, 인터페이스는 계약 및 추상화에 주로 사용됩니다.
…