반응형
오늘도 힘내자!
오늘의 공부 내용
내 답변은 혼자 계속 다듬어 가면서 고치고 고치고 고치다가 정리된 답변입니다... 처음부터 절때 저렇게 정리하지 않았습니다...!
- DI와 DIP의 주요 차이점은 무엇인가요?
- DI는 객체간의 의존성을 외부에서 주입하여 객체간의 결합도를 낮추는 개념이고 DIP는 추상화가 구체화를 의존하는 것이 아니고 구체와가 추상화에 의존해야한다는 설계 개념입니다. DIP는 설계의 원칙을 제공하는 것이고 DI는 이를 구현하는 실질적인 개념입니다.
- 디자인 패턴을 선택할 때 어떤 기준을 가장 우선시하시나요?
- 해결하려는 문제가 어떤 것인지 명확해야 하고 패턴을 사용함으로써 성능문제가 발생하지 않을지 판단해야합니다.
- 프록시 패턴을 사용하는 상황과 이 패턴이 해결할 수 있는 문제점을 설명해주세요
- 싱글턴 패턴의 장단점은 무엇이며, 어떤 상황에서 사용하는 것이 적합한가요?
- 싱글턴 패턴은 하나의 인스턴스만 존재하므로, 전역으로 그 인스턴스를 사용할 수 있고 메모리 사용을 최소화 할 수 있습니다. 싱글턴 객체에 의존하게 되어 클래스간 결합도가 높아져 유지보수성이 떨어질 수 있습니다. 설정정보나 로그 관리처럼 상태 공유가 필요한 경우나 커넥션 풀, 캐시와 같은 자원관리에 사용하는것이 적합 합니다.
- 팩토리 패턴을 사용할 때의 장점과 단점, 그리고 주의해야 할 점은 무엇인가요?
- 객체를 직접 생성하는 것이 아니라, 팩토리 메서드를 통해 객체를 생성하므로 객체 생성 로직을 클라이언트 코드와 분리할 수 있다는 장점이 있습니다. 팩토리 패턴을 사용하면 클래스 생성 로직이 팩토리 안에 캡슐화되기 때문에 테스트가 어렵거나 불편할 수 있습니다. 객체 생성이 간단한 경우, 팩토리 패턴을 사용하지 않는게 더 좋을 수 있어서 과도한 사용을 피해야한다는 주의점이 있습니다.
- 빌더 패턴과 팩토리 패턴의 차이점은 무엇인가요?
- 빌더 패턴은 객체 구성이 여러개가 있을때 단계별로 값을 설정할 수 있는 패턴이고 팩토리 패턴은 객체를 생성하는 로직을 숨기고 객체의 타입을 결정하는 데 집중하는 패턴입니다.
- 전략 패턴을 사용하여 API 타입별 분기 처리를 개선하는 방법을 설명해 주세요.
- 하위 클래스에서 구현해야 할 인터페이스를 정의 하고 API 타입별로 다른 처리를 제공하는 구체적인 클래스를 작성합니다. 클라이언트가 API 타입에 따라 적절한 전략을 실행할 수 있도록 컨텍스트 클래스를 작성하면 됩니다.
- IOC(제어의 반전) 컨테이너의 작동 원리와 장점을 설명해주세요.
- IoC 컨테이너는 객체의 생성 및 생명 주기를 관리하는데 의존성을 자동으로 주입하는 프레임 워크이고 객체간의 결합도를 낮춥니다. 객체를 등록하고 의존성을 주입한 후 생명주기를 관리합니다.
- IOC와 DI의 차이점은 무엇인가요?
- IoC는 객체의 제어권을 개발자가 아닌 컨테이너가 담당하고 DI는 IoC의 구현 방식 중 하나입니다. DI는 IoC를 실현하는 구체적인 방법으로 필드, 생성자, 메서드 주입 방식이 있습니다.
- DIP와 IOC의 차이점은 무엇인가요?
- DIP는 추상화가 구체화에 의존하는게 아니라 구체화가 추상화에 의존하라는 설계 원칙이고 IoC는 객체의 생명주기를 관리하는 설계 패턴 입니다.
- IOC와 DI를 구현하는 과정에서 순환 참조가 발생하는 원인과 해결 방법은 무엇인가?
- 순환 참조 발생 원인은 두개 이상의 객체가 서로를 의존성으로 가지면서 객체 생성이 무한 루프에 빠지는 문제인데요. 해결 방법은 생성자 주입 대신 Setter 메서드를 사용해서 의존성을 주입하거나 의존성 객체를 필요할 때 생성하는 Lazy Initialization(지연 초기화)를 사용하는 방법으로 해결할 수 있습니다.
- AOP를 왜 사용하는지 설명해보세요.
- 로깅, 트랜잭션 관리, 보안 같은 공통 기능을 한 곳에서 관리하여 코드 중복을 줄여서 유지보수성을 향상 시키기 위함입니다.
- PSA의 개념과 이를 통해 얻을 수 있는 이점은 무엇인가요?
- PSA 학습 후 채워 넣겠습니다!
- PSA를 통해 어떻게 기술에 종속되지 않는 코드를 작성할 수 있나요?
- PSA 학습 후 채워 넣겠습니다!
- 스프링에서 PSA(Portable Service Abstraction)의 역할은 무엇인가요?
- PSA 학습 후 채워 넣겠습니다!
반응형
'Study > Study Alone' 카테고리의 다른 글
[나혼자공부] 6주차 복습-1 (0) | 2025.01.08 |
---|---|
[나혼자공부] 5주차 복습-2 (0) | 2025.01.04 |
[나혼자공부] 5주차 복습-1 (2) | 2025.01.03 |
[나혼자공부] 4주차 복습-2 (0) | 2024.12.26 |
[나혼자공부] 4주차 복습-1 (2) | 2024.12.25 |
댓글