Java 78

[JAVA] 문자열 클래스

문자열 클래스클래스설명String문자열을 저장하고 조작할 때 사용StringBuilder효율적인 문자열 조작 기능이 필요할 때 사용StringTokenizer구분자로 연결된 문자열을 분리할 때 사용 String 클래스String 클래스는 문자열을 저장하고 조작할 때 사용한다. 문자열 리터럴은 자동으로 String 객체로 생성되지만, String 클래스의 다양한 생성자를 이용해서 직접 객체를 생성할 수도 있다. 프로그램을 개발하다 보면 byte 배열을 문자열로 변환하는 경우가 종종 있다. 예를 들어 네트워크 통신으로 얻은 byte 배열을 원래 문자열로 변환하는 경우이다. 이때는 String 생성자 중에서 다음 두 가지를 사용해 String 객체로 생성할 수 있다. 예제 코드package ch12;impor..

Language/JAVA 2024.10.15

[JAVA] System 클래스

System 클래스자바 프로그램은 운영체제상에서 바로 실행되는 것이 아니라 자바 가상 머신(JVM) 위에서 실행된다. 따라서 운영체제의 모든 기능을 자바 코드로 직접 접근하기란 어렵다. 하지만 java.lang 패키지에 속하는 System 패키지를 이용하면 운영체제의 일부 기능을 이용할 수 있다.정적 멤버용도필드out콘솔(모니터)에 문자 출력err콘솔(모니터)에 에러 내용 출력in키보드 입력메서드exit(int status)프로세스 종료currentTimeMillis()현재 시간을 밀리초 단위의 long 값으로 리턴nanoTime()현재 시간을 나노초 단위의 long 값으로 리턴getProperty()운영체제와 사용자 정보 제공getenv()운영체제의 환경 변수 정보 제공 콘솔 출력out 필드를 이용하면..

Language/JAVA 2024.10.15

[JAVA] 롬복 사용하기

롬복롬복(Lombok)은 JDK에 포함된 표준 라이브러리는 아니지만 개발자들이 즐겨 쓰는 자동 코드 생성 라이브러리이다. 롬복은 레코드와 마찬가지로 DTO 클래스를 작성할 때 Getter, Setter, hashCode(), equals(), toString() 메서드를 자동 생성하기 때문에 작성할 코드의 양을 줄여 준다. 레코드와의 차이점은 필드가 final이 아니며, 값을 읽는 Getter는 getXxx(또는 isXxx)로, 값을 변경하는 Setter는 setXxx로 생성된다는 것이다.* getXxx와 setXxx는 자바빈즈의 정식 Getter와 Setter이다.  이클립스에서 롬복을 사용하려면 설치 과정이 필요하다. 다음 URL로 가서 최신 버전의 롬복 설치 파일(lombok.jar)을 다운로드한다..

Language/JAVA 2024.10.15

[JAVA] 레코드 선언

레코드데이터 전달을 위한 DTO(Data Transfer Object)를 작성할 때 반복적으로 사용되는 코드를 줄이기 위해 Java 14부터 레코드(Record)가 도입되었다. 예를 들어 사람의 정보를 전달하기 위한 Person DTO가 다음과 같다고 가정해 보자.public class Person { private final String name; private final int age; public Person(String name, int age) { this.name = name; this.age = age; } public String name() { return this.name; } public String age() { return ..

Language/JAVA 2024.10.15

[JAVA] Object 클래스

Object 클래스클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속하게 된다. 따라서 자바의 모든 클래스는 Object의 자식이거나 자손 클래스이다. 그렇기 때문에 Object가 가진 메서드는 모든 객체에서 사용할 수 있다.메서드용도boolean equals(Object obj)객체의 번지를 비교하고 결과를 리턴int hashCode()객체의 해시코드를 리턴String toString()객체 문자 정보를 리턴 객체 동등 비교Object의 equals() 메서드는 객체의 번지를 비교하고 boolean 값을 리턴한다.public boolean equals(Object obj) equals() 메서드의 매개변수 타입이 Object ..

Language/JAVA 2024.10.15

[JAVA] java.base 모듈

API 도큐먼트자바 표준 모듈에서 제공하는 라이브러리는 방대하기 때문에 쉽게 찾아서 사용할 수 있도록 도와주는 API 도큐먼트가 있다. 라이브러리가 클래스와 인터페이스의 집합이라면, API 도큐먼트는 이를 사용하기 위한 방법을 기술한 것이다. 다음 URL을 방문하면 JDK 버전별로 사용할 수 있는 API 도큐먼트를 볼 수 있다.https://docs.oracle.com/en/java/javase/index.html 자바 버전을 선택하고 왼쪽 메뉴에서 [API Document]를 클릭하면 다음과 같이 각 버전에 따른 API 도큐먼트 페이지가 열린다. java.base 모듈java.base는 모든 모듈이 의존하는 기본 모듈로, 모듈 중 유일하게 requires 하지 않아도 사용할 수 있다.이 모듈에 포함되어..

Language/JAVA 2024.10.15

[JSP] JAVA 기초 문법

기본 문법 구조package ch04; // 패키지public class Grammar { // 클래스 public String name = "JSPStudy"; // 멤버변수 public void jspStudy(int year) { // 메서드 System.out.println("변수 name은 " + name + "입니다."); System.out.println("변수 year은 " + year + "입니다."); System.out.println(name + year); } public static void main(String[] args) { // 메인메서드 // TODO Auto-generated method stub int year = 2013; // 지역변수 Grammar ..

Web Programming/JSP 2024.09.27

[JAVA] 모듈

Java 9부터 지원하는 모듈(Module)은 패키지 관리 기능까지 포함된 라이브러리이다. 일반 라이브러리는 내부에 포함된 모든 패키지에 외부 프로그램에서의 접근이 가능하지만, 모듈은 다음과 같이 일부패키지를 은닉하여 접근할 수 없게끔 할 수 있다. 또 다른 차이점은 모듈은 자신이 실행할 때 필요로 하는 의존 모듈을 모듈 기술자(module-info.java)에 기술할 수 있기 때문에 모듈 간의 의존 관계를 쉽게 파악할 수 있다는 것이다. 모듈도 라이브러리 이므로 JAR 파일 형태로 배포할 수 있다. 응용프로그램을 개발할 때 원하는 기능의 모듈(JAR) 파일을 다운로드해서 이용하면 된다. 대규모 응용프로그램은 기능별로 모듈화(Modulization) 해서 개발할 수도 있다. 모듈별로 개발하고 조립하는 방..

Language/JAVA 2024.09.05

[JAVA] 라이브러리

라이브러리는 프로그램 개발 시 활용할 수 있는 클래스와 인터페이스들을 모아놓은 것을 말한다. 일반적으로 JAR(Java ARchive) 압축 파일(*. jar) 형태로 존재한다. JAR 파일에는 클래스와 인터페이스의 바이트코드 파일 (*. class)들이 압축되어 있다. 특정 클래스와 인터페이스가 여러 응용 프로그램을 개발할 때 공통으로 자주 사용된다면 JAR 파일로 압축해서 라이브러리로 관리하는 것이 좋다. 참고로 이클립스는 Java Project를 생성해서 클래스와 인터페이스를 개발하고 최종 산출물로 JAR 파일을 만드는 기능이 있다. 프로그램 개발 시 라이브러리를 이용하려면 라이브러리 JAR 파일을 Classpath에 추가해야 한다. Classpath란 말 그대로 클래스를 찾기 위한 경로이다. Cl..

Language/JAVA 2024.09.05

[JAVA] 예외 처리

컴퓨터 하드웨어의 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 자바에서는 에러(Error)라고 한다. 프로그램을 아무리 견고하게 만들어도 개발자는 이런 에러에 대처할 방법이 전혀 없다. 자바에서는 에러 이외에 예외(Exception)라고 부르는 오류가 있다. 예외란 잘못된 사용 또는 코딩으로 인한 오류를 말한다. 예외가 발생되면 프로그램은 곧바로 종료된다는 점에서 에러와 동일하지만, 예외 처리를 통해 계속 실행 상태를 유지할 수 있다. 예외에는 다음 두 가지가 있다.일반예외(Exception)       컴파일러가 예외 처리 코드 여부를 검사하는 예외를 말한다.실행 예외(Runtime Exception)       컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외를 말한다. 자바는 예외가 발..

Language/JAVA 2024.09.05