면접22 싱글톤 패턴 싱글톤 패턴이란?소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. 주로 공통된 객체를 여러개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다.출처: 위키피디아간단히 설명하면 싱글톤 패턴은 객체의 인스턴스를 한개만 생성되게 하는 패턴입니다.이러한 패턴은 주로 프로그램 내에서 하나로 공유를 해야하는 객체가 존재할 때 해당 객체를 싱글톤으로 구현하여 모든 유저 또는 프로그램들이 해당 객체를 공유하며 사용하도록 할 때 사용됩니다.. 2025. 6. 25. 의존성 주입(DI) 란? [ 의존성 주입(Dependency Injection) 이란? ]Spring 프레임워크는 3가지 핵심 프로그래밍 모델을 지원하고 있는데, 그 중 하나가 의존성 주입(Dependency Injection, DI) 이다. DI란 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다.의존성이란 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다. 예를 들어 다음과 같이 Store 객체가 Pencil 객체를 사용하고 있는 경우에 우리는 Store객체가 Pencil 객체에 의존성이 있다고 표현한다.public class Store { pri.. 2025. 6. 25. 다형성 다형성이제 객체 지향 프로그래밍의 꽃이라 할 수 있는 다형성에 대해 간략히 살펴보도록 하겠습니다. 다형성(多形性)이란 한자 이름 그대로 어떤 객체의 속성이나 기능이 상황에 따라 여러 가지 형태를 가질 수 있는 성질을 의미합니다.비유적으로 표현하자면, 어떤 중년의 남성이 있다고 했을 때 그 남자의 역할이 아내에게는 남편, 자식에게는 아버지, 부모님에게는 자식, 회사에서는 회사원, 동아리에서 총무 등 상황과 환경에 따라서 달라지는 것과 비슷하다고 할 수 있습니다.객체 지향에서의 다형성도 이와 비슷합니다. 즉, 어떤 객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할수 있는 객체 지향의 특성을 의미합니다. 대표적인 예로 우리가 앞서 본 메서드 오버라이딩과 메서드 오버로딩(method overloadin.. 2025. 6. 9. 추상 클래스(Abstract Class)와 인터페이스(Interface)의 특징 및 차이점 추상 클래스(Abstract Class)와 인터페이스(Interface)의 특징 및 차이점 알아보기요약추상 클래스, 인터페이스 공통/차이 정리 표구분추상 클래스인터페이스공통점객체 생성객체를 생성(인스턴스화)할 수 없다.추상 메서드추상 메서드를 포함한다.기능적 목적상속받는 클래스에서는 추상 메서드를 반드시 재정의하여 구현해야 한다.차이점개념적 목적상속 받아서 기능을 확장시키는데 목적구현 객체의 동일한 실행 기능을 보장하기 위한 목적클래스클래스다.(abstract class)클래스가 아니다.(interface)일반 메서드일반 메서드 정의가 가능일반 메서드 정의 불가능(Java8 이후 static, default 메서드 정의 가능)멤버 변수클래스와 동일하게 변수 선언 및 사용 가능상수만 사용 가능상속 키워드e.. 2025. 5. 15. SOLID SOLID에 대한 설명에 들어가기 전에 이해에 도움을 줄 수 있는 이야기를 해보겠다."객체지향 프로그래밍의 특성과 장점을 최대한으로 끌어올리기 위해 프로그램을 어떻게 설계해야할까?"📌 객체지향 설계과정요구사항(제공해야 할 기능)을 찾고 세분화 한다. 그리고 그 기능을 알맞은 객체로 할당한다.기능을 구현하는 데에 필요한 데이터를 객체에 추가한다.해당 데이터를 이용하는 기능을 구현한다. 기능은 최대한 캡슐화를 적용한다.객체 간에 어떻게 메소드 호출을 주고받을 지 결정한다.⭐️ 객체지향 설계의 5가지 원칙, SOLIDSOLID라는 좋은 객체지향의 설계의 5가지 원칙이 존재한다. SOLID는 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), D.. 2025. 5. 13. 상속(Inheritance) 상속이란?자바에는 상속(Inheritance)이라는 개념이 존재합니다.쉽게 말해 부모 클래스(상위 클래스)와 자식 클래스(하위 클래스)가 있으며, 자식 클래스는 부모 클래스를 선택해서, 그 부모의 멤버를 상속받아 그대로 쓸 수 있게 됩니다.상속을 하는 이유는 간단합니다. 이미 마련되어 있던 클래스를 재사용해서 만들 수 있기 때문에 효율적이고, 개발 시간을 줄여주게 됩니다.상속을 하더라도 자식 클래스가 부모의 모든 것들을 물려받는 것은 아닙니다.부모 클래스의 private 접근 제한을 갖는 필드 및 메소드는 자식이 물려받을 수 없습니다.부모와 자식 클래스가 서로 다른 패키지에 있다면, 부모의 default 접근 제한을 갖는 필드 및 메소드도 자식이 물려받을 수 없습니다.(default 접근 제한은 ‘같은 .. 2025. 5. 3. 이전 1 2 3 4 다음