반응형

1. 스프링 프레임워크에서 IoC(Inversion of Control)란 무엇이며, 왜 사용하는가?

대답: IoC(Inversion of Control)는 스프링 프레임워크의 핵심 원칙 중 하나로, 객체의 생성과 생명주기 관리를 애플리케이션 코드가 아닌 컨테이너가 담당하게 하는 것을 말합니다. IoC를 사용하는 주된 이유는 코드의 결합도를 낮추고, 유연성 및 확장성을 향상시키며, 테스트와 유지보수를 용이하게 하기 위해서입니다.

2. 의존성 주입(Dependency Injection)과 팩토리 패턴의 차이점은 무엇인가?

대답: 의존성 주입은 IoC의 한 형태로, 객체의 의존성을 외부에서 주입하는 방식입니다. 이를 통해 클래스 간의 결합도를 낮추고, 코드를 더 유연하게 만듭니다. 반면, 팩토리 패턴은 객체 생성을 캡슐화하는 디자인 패턴으로, 클라이언트가 객체의 생성 과정을 몰라도 되게 합니다. 의존성 주입은 주로 객체 간의 의존성을 관리하는 데 초점을 맞추고, 팩토리 패턴은 객체 생성의 복잡성을 추상화하는 데 중점을 둡니다.

3. static 키워드의 사용 사례와 장단점은 무엇인가?

대답: static 키워드는 클래스 레벨의 변수나 메소드에 사용되며, 이를 통해 인스턴스 생성 없이 해당 멤버에 접근할 수 있습니다. 사용 사례로는 상수 값 정의, 유틸리티 메소드 구현 등이 있습니다. **static**의 장점은 메모리 효율성과 접근성이지만, 과도한 사용은 객체지향 원칙에 어긋나고, 코드의 테스트와 유지보수를 어렵게 만들 수 있습니다.

4. public, private, 그리고 protected 접근 제어자에 대해 설명하라.

대답: public 접근 제어자는 클래스, 메소드, 필드가 어떤 클래스에서도 접근할 수 있음을 의미합니다. **private**은 해당 멤버가 선언된 클래스 내부에서만 접근할 수 있음을 의미하며, 다른 클래스에서는 접근할 수 없습니다. **protected**는 해당 멤버가 선언된 클래스와 해당 클래스를 상속받은 자식 클래스에서 접근할 수 있음을 의미합니다. 이러한 접근 제어자는 객체의 캡슐화를 돕고, 객체 간의 결합도를 관리하는 데 사용됩니다.

반응형

+ Recent posts