728x90
반응형

JAVA 266

[JAVA] 제네릭을 사용하는 이유

제네릭(Generics)은 Java와 같은 프로그래밍 언어에서 제공하는 기능으로, 클래스, 인터페이스, 메서드 등에 타입 매개변수를 도입하여 다양한 데이터 타입을 처리할 수 있도록 합니다. 제네릭을 사용하는 주된 이유는 다음과 같습니다:1. 타입 안전성(Type Safety)제네릭을 사용하면 컴파일 타임에 타입을 검사할 수 있습니다. 이는 런타임에 발생할 수 있는 ClassCastException과 같은 오류를 미연에 방지할 수 있게 해줍니다. 예를 들어, 제네릭을 사용하지 않은 컬렉션에서는 객체를 추가할 때 타입 체크가 이루어지지 않아 잘못된 타입의 객체가 추가될 수 있습니다.List list = new ArrayList();list.add("Hello");list.add(123); // 컴파일 에러 ..

JAVA 2024.10.06

[JAVA] Desktop Class

Java의 Desktop 클래스는 Java AWT (Abstract Window Toolkit) 라이브러리의 일부로,애플리케이션이 기본 시스템의 데스크톱 환경과 상호작용할 수 있도록 해줍니다.이 클래스를 통해 사용자는 다양한 데스크톱 애플리케이션 기능을 사용할 수 있습니다.예를 들어, 파일을 열거나, 웹 브라우저를 통해 URL을 열거나, 이메일 클라이언트를 통해 이메일을 작성하는 등의작업을 수행할 수 있습니다.주요 기능파일 열기:지정된 파일을 기본 애플리케이션에서 열 수 있습니다. 예를 들어, .txt 파일은 기본 텍스트 편집기에서 열 수 있습니다.Desktop desktop = Desktop.getDesktop();File file = new File("example.txt");desktop.open(..

JAVA 2024.10.03

[JAVA] InputStream / InputStreamResource

1. InputStream정의:InputStream은 Java에서 바이트 스트림을 읽기 위한 추상 클래스입니다. 주로 파일, 네트워크 소켓, 또는 다른 데이터 소스에서 데이터를 읽는 데 사용됩니다.용도:데이터를 바이트 단위로 읽어오기 위해 사용됩니다.서브클래스인 FileInputStream, ByteArrayInputStream, BufferedInputStream 등을 통해 다양한 소스에서 입력을 처리할 수 있습니다.InputStream inputStream = new FileInputStream("example.txt");int data = inputStream.read();while (data != -1) { // Process the data data = inputStream.read(..

JAVA 2024.10.02

[JAVA] URLEncoder java.net/ apache 차이

URLEncoder는 Java에서 URL 인코딩을 위한 클래스이며, 두 가지 주요 라이브러리에서 사용할 수 있습니다: java.net.URLEncoder와 org.apache.commons.net.URLEncoder. 두 라이브러리의 기능은 비슷하지만, 몇 가지 차이점이 있습니다.1. 패키지 및 용도java.net.URLEncoder:Java 표준 라이브러리의 일부로, JDK에 포함되어 있습니다.URL을 인코딩할 때 기본적으로 사용하는 클래스입니다.예를 들어, 사용자가 입력한 쿼리 문자열을 URL 형식에 맞게 인코딩할 수 있습니다.org.apache.commons.net.URLEncoder:Apache Commons Net 라이브러리의 일부로, 추가적인 기능과 유틸리티를 제공합니다.Apache Commo..

JAVA 2024.10.01

[SPRING] @NoArgsConstructor(force = true)옵션

문제: 상황 final필드가 있는 경우final필드는 선언될 때 한 번만 값을 올릴 수 있습니다. 그래서 기본적으로 문제 생성( @NoArgsConstructor)을 사용할 때가 발생합니다. final필드가 있는 클래스에 기본적으로 생성자를 추가하려고 하면, 생성자에서 final필드를 외부로 내보내려는 경우가 발생합니다. 참조 유형 필드 (String,Object등): null로기본타입 필드 (int, boolean, double등): 0, false 로 초기화 import lombok.NoArgsConstructor;@NoArgsConstructor(force = true)public class Example { private final String name; // 강제로 null로 초기화 ..

JAVA/SPRING 2024.09.25

[SPRING] @NoArgsConstructor

목적 : 파라미터가 없는 기본 생성자 를 자동으로 생성합니다.군의 필드 생성과 성공 없이도 군사력이 없는 생성자 를 추가합니다.주의 사항( final필드) : final필드가 있는 경우 기본적으로 생성된 필드의 임시 필드가 필요하기 때문에 발생할 수 있습니다. @NoArgsConstructor(force = true)​ final​하지만 이 경우 final필드는 추측으로 설정됩니다( null, 0, false 등).import lombok.NoArgsConstructor;@NoArgsConstructorpublic class Example { private final String name; // 기본 생성자에서 초기화되지 않으면 에러 발생 private int age;} 위 코드는 다음과 ..

JAVA/SPRING 2024.09.24
728x90
반응형