본문 바로가기

Java/기초문법23

[Java] 제네릭 제네릭 이란?제네릭(Generic)이란 결정되지 않은 타입을 파라미터로 처리하고실제 사용할 때 파라미터를 구체적 타입으로 대체시키는 기능 public class Box { public T content;} 상기 코드는 Box 클래스에서 결정되지 않은 content의 타입을 T 라는 타입 파라미터로 정의한 것 입니다.는 T가 타입 파라미터임을 뜻하는 기호로, 타입이 필요한 자리에 T를 사용할 수 있음을 알려주는 역할을 합니다.즉, Box 클래스는 T가 무엇인지 모르지만, Box 객체가 생성될 시점에 다른 타입으로 대체된다는 것을 알고 있습니다. // 타입 파라미터 T를 String으로 대체Box box = new Box();box.content = "안녕하세요";String content = box... 2024. 10. 8.
[Java] JDBC 개념 자바는 데이터베이스와 연결해서 데이터 입출력 작업을 할 수 있도록 JDBC(Java Database Connectivity) 라이브러리(java.sql 패키지)를 제공합니다.  JDBC 인터페이스를 통해 실제로 DB와 작업하는 것은 JDBC Driver 입니다. JDBC Driver는 JDBC 인터페이스를 구현한 것으로, DBMS마다 별도로 다운로드 받아 사용해야 합니다.JDBC에 포함되어 있는 클래스와 인터페이스들의 연관 관계는 다음과 같습니다. DriverManagerDriverManager 클래스는 JDBC Driver를 관리하며 DB와 연결해서 Connection 구현 객체를 생성합니다. ConnectionConnection 인터페이스는 Statement, PreparedStatement, Col.. 2024. 10. 4.
[Java] 예외와 예외 클래스(2) 리소스 자동 닫기 리소스(resource)란 데이터를 제공하는 객체를 말합니다. 리소스는 사용하기 위해 열어야(Open) 하며, 사용이 끝난 다음에는 닫아야(close) 합니다. 예를 들어, 파일 내용을 읽기 위해서는 파일을 열어야 하며, 다 읽고 난 후에는 파일을 닫아야 다른 프로그램에서 사용할 수 있습니다. 리소스를 사용하다가 예외가 발생된 경우에도 안전하게 닫는 것이 중요합니다. 그렇지 않으면 리소스가 불안정한 상태로 남아있게 됩니다. FileInputStream fis = null;try { fis = new FileInputStream("file.txt"); // 파일 열기 ...} catch(IOException e) { ...} finally { fis.close(); .. 2024. 9. 29.
[Java] 예외와 예외 클래스(1) 컴퓨터 하드웨어의 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 자바에서는 에러(error) 라고 합니다.자바에서는 에러 이외에 예외(exception) 라고 부르는 오류가 있습니다. 예외란 잘못된 사용 또는 코딩으로 인한 오류를 말합니다.예외가 발생되면 프로그램은 곧바로 종료된다는 점에서는 에러와 동일하지만, 예외 처리를 통해 계속 실행 상태를 유지할 수 있습니다. 예외의 종류1. 일반 예외(Exception)컴파일러가 예외 처리 코드 여부를 검사하는 예외 2. 실행 예외(Runtime Exception)컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외 자바는 예외가 발생하면 예외 클래스로부터 객체를 생성합니다. 이 객체는 예외 처리 시 사용합니다. 자바의 모든 에러와 예외 클래스는 Thro.. 2024. 9. 29.
[Java] 접근 제한자 경우에 따라서는 객체의 필드를 외부에서 변경하거나 메서드를 호출할 수 없도록 막아야 할 필요가 있습니다. 중요한 필드와 메서드가 외부로 노출되지 않도록 해 객체의 무결성을 유지하기 위해서 입니다.접근 제한자제한 대상제한 범위public클래스, 필드, 생성자, 메서드없음protected필드, 생성자, 메서드같은 패키지이거나, 자식 객체만 사용 가능(default)클래스, 필드, 생성자, 메서드같은 패키지에서만 사용 가능private필드, 생성자, 메서드객체 내부※ default는 접근 제한자가 아니라 접근 제한자가 붙지 않은 상태를 말합니다. 생성자의 접근 제한객체를 생성하기 위해 생성자를 어디에서나 호출할 수 있는 것은 아닙니다. 생성자가 어떤 접근 제한을 갖느냐에 따라 호출 가능 여부가 결정됩니다.접근.. 2024. 9. 25.
[Java] final 필드와 상수 인스턴스 필드와 정적 필드는 언제든지 값을 변경할 수 있습니다. 그러나 경우에 따라서는 값을 변경하는 것을 막고 읽기만 허용해야 할 때가 있습니다. 이 때 final 필드와 상수를 선언해서 사용합니다. final 필드 선언final은 '최종적'이란 뜻을 가지고 있습니다. final 필드는 초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없게 됩니다.final String nation = "대한민국"; final 필드에 초기값을 줄 수 있는 방법은 2가지 입니다.1. 필드 선언 시에 초기값 대입2. 생성자에서 초기값 대입 고정된 값이라면 필드 선언 시에 주는 것이 제일 간단합니다. 하지만 복잡한 초기화 코드가 필요하거나 객체 생성 시에 외부에서 전달된 값으로 초기화 한다면 생.. 2024. 9. 24.