전체 글 109

[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

[Interview Question] REST API란 무엇인가요?

RESTAPI는 REST 아키텍처 스타일을 따르는 api 설계 방식으로 자원은 uri로 정의하고 행위는 HTTP method로 정의하여 설계하는 방식입니다. restful한 api 개발의 특징으로는 일관된 HTTP 규칙만 잘 따른다면 언어와 플랫폼을 가리지 않고 범용적이게 사용할 수 있습니다. 또한 무상태성 즉, 사용자의 상태를 저장하지 않기 때문에 어떤 서버든 같은 요청을 받으면 같은 응답을 반환합니다. 그렇기 때문에 서버 수평확장에 용이하고 장애 대응을 하기 쉽습니다.

Interview Question 2025.08.31

[Interview Question] 쿠키방식과 세션방식에 대해서 설명해보세요

쿠키 방식과 세션 방식은 사용자 인증/상태 관리를 하는 방식입니다.쿠키 방식은 클라이언트에 저장되는 작은 데이터 조각을 활용하는 방식이며, 서버가 요청을 받으면 인증정보를 쿠키에 담아서 클라이언트에게 보낸다. 클라이언트는 서버가 인증정보를 요청할때마다 쿠키를 보내는 방식입니다. 쿠키방식은 사용하기 단순하다는 장점이 있지만 클라이언트가 가지고 있기 때문에, 보안에 취약하다는 단점이 있습니다.세션 방식은 서버가 고유 세션 ID만 쿠키에 담아 클라이언트에게 전송하고 사용자 인증정보는 서버에 저장하는 방식입니다. 서버가 그 id를 활용해 인증 정보를 색인하는 방식을 사용해 사용자가 많아졌을 때, 부하가 심하다는 단점이 있지만 서버가 db에서 관리를 하기 때문에 보안성을 강화할 수 있다는 장점이 있습니다. - 장..

Interview Question 2025.08.31

[Interview Question] HTTP와 HTTPS의 차이를 설명해주세요

HTTP는 웹에서 클라이언트와 서버 사이의 데이터 전송을 위한 프로토콜입니다. HTTP같은 경우에는 보통 포트를 80번을 사용하며 평문으로 데이터를 전송하기 때문에 보안에 취약합이다. 하지만 HTTPS의 경우 SSL/TLS를 이용하여 데이터를 암호화하고 CA 인증서를 통해 서버를 검증할 수 있으므로 도청이나 변조, 피싱공격을 막을 수 있습니다. 보통 포트는 443번을 이용합니다.

Interview Question 2025.08.30