[IT] 신입 개발자 기술 면접 질문 정리 3 - Java
·
etc.
* 취준생 시절 면접 때 직접 들었던 질문 위주로 정리했고, 예상 질문으로 제가 준비했던 것들도 있습니다. - 인성 면접 : https://young0105.tistory.com/347- 기술 면접 1 : https://young0105.tistory.com/348- 기술 면접 2 : https://young0105.tistory.com/349- 기술 면접 4 : https://young0105.tistory.com/351 ● 메서드 오버라이딩 vs 메서드 오버로딩  - 메서드 오버라이딩 : 부모 클래스의 메서드를 자식 클래스가 재정의해서 사용하는 것  - 메서드 오버로딩 : 같은 이름의 메서드가 서로 다른 매개변수를 갖도록 여러 번 선언해서 사용하는 것  ● 다형성  - 하나의 타입에 여러 객체를 대입..
[Java] 어노테이션 (Annotation)
·
Java/Base
어노테이션 (Annotation)  - 프로그램의 코드에 메타데이터를 추가하는 기능을 제공하는 것  - 컴파일러 or 런타임 시점에 코드를 처리하는 도구들에게 추가적인 정보를 제공함  - 주로 클래스, 메서드, 변수, 매개변수 등에 부착해서 사용됨  - 형식 : @어노테이션(속성1=값1, 속성2=값2, ...)  - 코드 가독성 향상  - 자동화된 코드 생성, 테스트, 디버깅 등에 활용 #  빌트인 어노테이션 (Built-in Annotation)  - @Override      : 상위 클래스나 인터페이스의 메서드를 오버라이드함을 나타냄  - @Deprecated      : 해당 요소가 더 이상 사용되지 않음을 나타냄  - @SuppressWarnings      : 컴파일러의 경고를 무시하도록 지정..
[Java] 리플렉션 (Reflection)
·
Java/Base
리플렉션 (Reflection)  - 프로그램 실행 중에 클래스의 정보를 분석/조작할 수 있는 부분  - 런타임 시점에 동작으로 클래스의 메서드/필드/생성자 등에 접근하고 호출할 수 있음  - 자바의 핵심 기능  - java.lang.reflect 패키지 #  클래스 정보 가져오기123456789// 1) Class.forName() 사용 Class<?> clazz = Class.forName("com.example.MyClass"); // 2) 객체.getClass() 사용 MyClass obj = new MyClass();Class<?>&..
[JSP] 웹 컨테이너 (Web Container)
·
Java/JSP
웹 컨테이너 (서블릿 컨테이너)  - JSP와 서블릿이 실행될 수 있는 환경을 제공하는 컴포넌트  - URL에서 서블릿을 찾아 실행하고, 서블릿으로부터 결과를 받아 클라이언트에 전달함#  주요 기능  1) 통신 지원      · HTTP 등의 프로토콜을 통해 클라이언트와의 통신을 지원함      · 요청을 받아 적절한 서블릿을 실행하고, 그 결과를 클라이언트에게 전송함  2) 서블릿의 생명주기 관리      · 서블릿이 로드되어 초기화되고, 요청을 처리하며, 종료되는 과정을 관리함  3) 멀티스레딩 지원      · 클라이언트의 각 요청을 별도의 스레드로 처리함          → 동시에 여러 클라이언트의 요청을 효율적으로 처리  4) 보안      · SSL/TLS 등의 기능을 통해 보안 통신을 지원함..
[Java] JVM (Java Virtual Machine)
·
Java/Base
JVM (Java Virtual Machine)  : Java 바이트코드(.class 파일)를 OS에 특화된 코드로 변환하여 실행하는 역할을 하는 가상의 실행 환경 #  주요 역할  1) Java 바이트코드 실행      - Java 소스 코드(.java 파일)는 컴파일러에 의해 Java 바이트코드(.class 파일)로 변환됨          → 바이트코드는 모든 JVM에서 실행될 수 있음  2) 메모리 관리      - 객체의 생성과 가비지 컬렉션을 통한 메모리 해제를 담당함  3) 플랫폼 독립성      - 한 번 작성된 Java 코드가 어떤 플랫폼에서든 실행 가능하도록 함      - 플랫폼에 따라 달라질 수 있는 저수준 세부 사항을 추상화함          → Java 바이트코드가 특정 운영체제/..