-
[CS/JAVA] 추상 클래스 / 인터페이스 / 싱글톤 패턴CS/Java 2024. 11. 24. 17:08반응형
• 추상 클래스와 인터페이스를 설명해주시고, 차이에 대해 설명해주세요.
- 추상 클래스는 클래스 내 추상 메소드가 하나 이상 포함되거나 abstarct로 정의된 경우를 말하고,
- 인터페이스는 모든 메소드가 추상 메소드로만 이루어져 있는 것을 말합니다.
- 공통점
- new 연산자로 인스턴스 생성 불가능 합니다.
- 사용하기 위해서는 하위 클래스에서 확장/구현 해야 합니다.
- 차이점
- 인터페이스는 그 인터페이스를 구현하는 모든 클래스에 대해 특정한 메소드가 반드시 존재하도록 강제함에 있고,
- 추상 클래스는 상속받는 클래스들의 공통적인 로직을 추상화시키고, 기능 확장을 위해 사용합니다.
- 추상 클래스는 다중 상속이 불가능하지만, 인터페이스는 다중 상속이 가능합니다.
• 싱글톤 패턴에 대해 설명해주세요.
- 싱글톤 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인 패턴입니다.
- 인스턴스가 1개만 존재해야 한다는 것을 보장하고 싶은 경우와,
- 동일한 인스턴스를 자주 생성해야 하는 경우에 주로 사용합니다. (메모리 낭비 방지)
• 싱글톤 패턴의 대표적인 예시를 간단하게 설명해주세요.
- 싱글톤 패턴의 대표적인 예시는 Spring Bean입니다.
- Spring Bean 등록 방식은 기본적으로 싱글톤 스코프이고, 스프링 컨테이너는 모든 빈들을 싱글톤으로 관리합니다.
+ 스프링은 요청할 때마다 새로운 객체를 생성해서 반환하는 기능도 제공합니다. (프로토타입 빈, @Scope("prototype"))
* 위 글은 아래 문서를 참고해 작성했습니다.
https://dev-coco.tistory.com/153
신입 개발자 기술면접 질문 정리 - 자바
💡 Java의 특징을 설명해주세요.Java는 객체지향 프로그래밍 언어입니다. 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어
dev-coco.tistory.com
review 1회독 2회독 3회독 4회독 5회독 check ✅(1/22) ✅(1/23) ✅(2/10) 반응형'CS > Java' 카테고리의 다른 글
[CS/JAVA] 자바의 메모리 영역 / 클래스와 객체 / 생성자 (0) 2024.11.26 [CS/JAVA] 가비지 컬렉션 / 객체지향 설계의 원칙 (0) 2024.11.26 [CS/JAVA] 객체지향 프로그래밍 / try-with-resources / 불변 객체 / 참조 타입 / final (0) 2024.11.24 [CS/JAVA] Java의 컴파일 과정 / Java의 원시 타입 / 오버라이딩 vs 오버로딩 (0) 2024.11.22 [CS/JAVA] Java의 특징 / JVM의 역할 / JVM의 클래스 (0) 2024.10.29