- JDBC
- JDBC(Java Database Connectivity)는 자바에서 데이터베이스와의 연결을 관리하고 SQL 쿼리를 실행하기 위한 표준 API
- 주요 구성 요소
- DriverManager
- JDBC 드라이버를 관리하고, 애플리케이션과 드라이버 간의 연결을 설정하는 역할
- Connection
- 데이터베이스 연결을 나타내며, SQL 문을 실행하고 트랜잭션을 관리하는 데 사용
- Statement
- SQL 문을 실행하고 결과를 얻기 위한 방법을 정의
- ResultSet
- SQL 쿼리의 결과를 나타내며, 결과 집합을 반복하고 데이터를 읽는 방법을 제공
- 단점
- 직접 SQL 쿼리 작성 및 오타 가능성
- 예외 처리, 리소스 해제 등의 반복적인 코드가 많이 필요
- JDBC를 사용하면 SQL 쿼리의 결과를 객체로 수작업으로 매핑. 특히 복잡한 객체를 다룰 때 매우 번거로움
- 트랜잭션 관리의 수동처리
- 웹서버
- 소켓
- TCP통신
- TCP 통신은 소켓을 통해 이루어지고 IP 주소와 포트 번호로 네트워크 상의 특정 서비스나 애플리케이션과 통신
- HTTP통신
- HTTP통신은 TCP 연결 위에서 HTTP 프로토콜을 기반으로 수행
- HTTP 요청과 응답은 텍스트 기반으로, 클라이언트가 서버에 요청을 보내고 서버가 응답을 보내는 형태
- 리플렉션
- Java 프로그램이 런타임에 클래스, 메서드, 필드 등의 정보를 검사하고 수정할 수 있도록 하는 기능
- 리플렉션의 주요 기능
- 클래스 정보를 런타임에 얻을 수 있음 (클래스의 이름, 메서드, 필드 등)
- 런타임에 메서드를 호출할 수 있음
- 런타임에 필드에 접근하고 수정할 수 있음
- 런타임에 객체를 생성할 수 있음
- 어노테이션
- 자바에서 메타데이터(metadata)를 제공하기 위한 문법 요소
- 일반적으로, 어노테이션은 런타임 시점에서 동작
- 어노테이션의 주요 기능
- 컴파일러에게 정보를 제공
- 런타임 시 특정 행동을 유발
- 사용방법
- @interface 키워드를 사용하여 정의
- @Retention
- 어노테이션 동작 시점을 지정
- 일반적으로 런타임시점
- @Target
- 어노테이션을 사용하게 될 주체를 정의
- 필드, 메서드, 생성자 등