CS/Java
[CS/JAVA] 추상 클래스 / 인터페이스 / 싱글톤 패턴
dbfl9911
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) |
반응형