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)    

 

반응형