2025/08/31 13

[Interview Question] @Component, @Service, @Repository의 차이를 설명해주세요

@Component의 경우 특별하게 의미를 부여하는거 없이 spring에서 ioc 컨테이너가 관리해야 할 bean 객체이다를 의미하는 어노테이션이다. @Service의 경우 비즈니스를 수행하는 로직이다. 그 안에 @Component도 들어있으므로 결국 bean 객체로 생성된다.@Repository의 경우 DB에 접근할 수 있는 권한을 가진 저장소의 역할이다. @Component도 들어있으므로 결국 bean 객체로 생성된다.

Interview Question 2025.08.31

[Interview Question] IoC와 DI란 무엇인가요?

spring boot는 IoC(제어의 역전) 컨테이너 즉, applicationContext가 spring에서 사용하는 bean이라는 객체를 직접 생성하고 관리합니다. 또한 DI(의존성 주입)을 이용해 의존 객체를 외부에서 주입해줍니다. 예를들어 service에서 repository 객체가 필요한 경우 new 연산자로 직접 객체를 생성하게 되면 결합도가 너무 높아집니다. 따라서 ioc 컨테이너가 미리 bean객체를 생성해두고 외부에서 생성자주입, 세터주입, 필드주입 등 여러가지 방식으로 넣어줍니다.

Interview Question 2025.08.31

[Interview Question] 예외 처리 방식(Checked vs Unchecked Exception)은 어떻게 다른가요?

Exception에는 CheckedException과 UncheckedException 두 가지 예외가 존재합니다. CheckedException 같은 경우에는 컴파일시 발생하는 에러입니다. 이 에러를 해결하지 않으면 프로그램이 컴파일 되지 않습니다. UncheckedException 같은 경우에는 런타임시 발생하는 에러입니다. 이 에러들은 개발자의 실수 또는 논리적 오류에서 발생하는 오류입니다.

Interview Question 2025.08.31

[Interview Question] Overloading과 Overriding의 차이점은 무엇인가요?

Java에서 객체 지향의 특징 중 다형성을 구현하는 방식으로 Overloading, Overriding 2가지 방식이 존재합니다. Overloading의 경우 같은 메소드 이름을 갖지만 매개 변수의 개수, 종류들을 다르게 하여 컴파일 시점에서 메소드가 결정되도록 하는 방식입니다. 이럴 때, 같은 메소드지만 여러가지 매개변수를 활용해서 구현할 수 있습니다.Overloading을 사용했을 때 장점은 메소드 이름은 같지만 다양한 타입의 매개변수를 넣어서 메소드를 활용할 수 있다는 점에서 코드 중복을 줄일 수 있고 코드 가독성을 늘릴 수 있습니다. Overriding의 경우 상속에서 부모클래스에 있는 메소드를 자식 클래스에서 재정의하여, 실행방식과 실행시점등을 객체의 타입에 따라 다르게 실행시킬 수 있는 방식입..

Interview Question 2025.08.31