Java150 [Java]자바 프로그램을 강제로 종료하는 System.exit() 메서드 System.exit() 메서드 System.exit() 메서드는 System 클래스에 존재하는 void 타입의 정적(static) 메서드입니다. 아래 코드는 System 클래스에 존재하는 exit() 메서드 구문입니다. public static void exit(int status) { Runtime.getRuntime().exit(status); } exit() 메서드는 int 타입의 매개 변수를 전달받으며, 실행 중인 자바 프로그램을 강제로 종료합니다. 매개 변수는 상태 코드를 의미하며 0이 아닌 상태 코드는 비정상적인 종료로 간주됩니다. System.exit() 메서드를 호출하면 JVM이 먼저 종료되고 프로그램이 종료됩니다. JVM이 먼저 종료되므로 System.exit() 메서드 이후의 코드는 .. Java 2022. 11. 3. [Java]람다 표현식에서 Unchecked Exception 처리 람다 표현식 Unchecked Exception 처리 Java 8에 도입된 람다 표현식(Lambda expression)은 이름이 없는 익명 함수로 메서드의 동작을 간결하게 작성할 수 있습니다. 그러나, JDK에서 제공하는 함수형 인터페이스는 예외(Exception)를 다루는 경우가 거의 없습니다. 따라서, 개발자가 람다 표현식에서 발생하는 예외를 방지하기 위해 예외를 처리하는 코드를 구현해야 합니다. 람다 표현식 예외를 처리하는 코드를 구현하면 한 가지 문제가 발생하는데, 람다 표현식 사용 목적과 다르게 간결했던 코드가 장황하고 복잡해집니다. 이번 포스팅은 람다 표현식에서 예외가 발생하는 경우와 예외를 올바르게 처리하는 방법을 소개합니다. 문제가 발생하는 코드 먼저 람다 표현식에서 예외가 발생하는 경우.. Java/함수형 인터페이스 2022. 11. 3. [Java]UUID를 문자열로 변환하는 방법 UUID UUID(Universally Unique Identifier)는 고유한 데이터 또는 리소스를 식별합니다. 데이터 또는 리소스는 객체, 파일, 문서, 이미지 등이 될 수 있으며, UUID가 광범위하게 사용되는 경우 전역 고유 식별자인 GUID라고 부르기도 합니다. UUID는 32개의 16진수 기반의 문자와 4개의 하이픈(-)으로 구성된 총 36개의 문자입니다. 36개의 문자는 8-4-4-4-12와 같이 표현되며 UUID의 크기는 128 Bit입니다. java.util 패키지에 존재하는 UUID 클래스는 Java 7부터 사용할 수 있으며 UUID 생성 방법은 다음과 같습니다. public static void main(String args[]) { UUID uuid = UUID.randomUUID.. Java 2022. 11. 2. [Java]MultipartFile 파일 이름 가져오는 방법 MultipartFile 파일 이름 가져오는 방법 이번 포스팅은 MultipartFile 형식으로 파일 업로드했을 때, 파일 이름을 가져오는 방법을 소개합니다. getOriginalFilename 메서드 파일 이름을 가져오는 방법은 상당히 심플합니다. MutipartFile 객체에서 getOriginalFilename() 메서드를 호출하면 됩니다. String originFilename = multipartFile.getOriginalFilename(); getOriginalFilename() 업로드되는 파일에서 확장자를 포함한 파일의 이름을 반환합니다. getOriginalFilename 메서드의 문제점 파일 이름을 가져오는 getOriginalFilename() 메서드에는 두 가지 문제점이 있습니다... Java 2022. 10. 2. [Java]Java 8의 특징 Java 8 소개 Java가 유료 선언을 하고 나서 대부분의 개발자들은 JDK 8을 사용하고 있습니다. 정확하게 이야기하자면, JDK 8u202 이하는 무료, JDK 8u211 이상 및 11 이후 버전은 유료입니다. 아이러니하게도 많은 개발자들이 Java 8을 사용하고 있지만, Java 8의 특징을 이해하지 못하고 Java 5(Generics)의 기능까지 사용하는 개발자들이 상당히 많습니다. 대부분의 개발자들이 Java 8의 기능을 사용하지 못하는 여러 가지 이유가 존재하겠지만, 가장 큰 이유는 학습의 부재라고 생각합니다. Java 8에서 가장 큰 변화가 일어났기 때문에 다른 버전에 비해 학습해야 하는 분량이 많기 때문이죠. 그리고 'Java 8을 사용하지 않아도 애플리케이션은 정상적으로 실행되는데, 굳.. Java 2022. 9. 26. [Java]ArrayList 자르는 방법 ArrayList 자르는 방법 이번 포스팅은 Java에서 ArrayList를 자를 수 있는 방법을 소개합니다. ArrayList 클래스의 subList 메서드 ArrayList는 시작 위치(fromIndex)부터 마지막 위치(toIndex)까지 포함된 요소를 반환하는 subList() 메서드를 제공합니다. public List subList(int fromIndex, int toIndex) { subListRangeCheck(fromIndex, toIndex, size); return new SubList(this, 0, fromIndex, toIndex); } 여기서 return문에서 반환되는 타입을 주의 깊게 봐야 하는데, 반환 타입은 List이지만 return문에서 SubList 객체를 반환합니다... Java/컬렉션 2022. 9. 16. [Java]ArrayList 여러 값 추가하는 방법 ArrayList 여러 값 추가하는 방법 ArrayList에 여러 개의 값을 추가해야 하는 경우가 존재할 수 있습니다. 예를 들어, 배열로 선언된 변수를 ArrayList에 추가하거나 다른 ArrayList를 추가해야 하는 상황이 존재합니다. 이번 포스팅은 ArrayList에 여러 값을 추가할 수 있는 몇 가지 방법을 소개합니다. 방법 1. ArrayList 초기화 ArrayList 선언과 동시에 여러 값을 추가해야 하는 경우 ArrayList 생성자 함수에 Arrays 클래스의 asList() 메서드를 사용합니다. 다음 예제는 ArrayList 선언과 동시에 Arrays 클래스의 asList() 메서드를 사용하여 여러 값을 추가하는 몇 가지 방법을 보여줍니다. public static void main.. Java/컬렉션 2022. 9. 16. [Java]현재 작업 디렉토리를 가져오는 방법 현재 작업 디렉토리를 가져오는 방법 이번 포스팅은 Java에서 현재 작업 디렉토리를 가져올 수 있는 몇 가지 방법을 소개합니다. 방법 1. Paths 클래스의 get 메서드 첫 번째 방법으로 Paths 클래스에서 제공하는 get() 메서드를 사용하여 현재 작업 디렉토리를 가져올 수 있습니다. get() 메서드에 빈 값("")을 전달하여 상대 경로를 가져온 뒤 toAbsolutePath() 메서드를 호출하여 절대 경로로 변환합니다. 마지막으로 toString() 메서드를 호출하면, 현재 작업 디렉토리를 문자열로 반환합니다. public static void main(String args[]) { String currentPaht = Paths.get("").toAbsolutePath().toString().. Java 2022. 9. 14. [Java]StringBuilder, StringBuffer 차이점 StringBuilder, StringBuffer StringBuilder와 StringBuilder는 변경 가능(mutable)한 속성을 가지는 클래스이며, 문자열을 버퍼로 관리합니다. 문자열을 추가, 변경, 삭제하는 경우 Heap 영역에 새로운 공간을 할당하지 않고 기존 공간의 크기를 변경합니다. String과 달리 불필요한 메모리 공간을 생성하지 않으므로 GC(가비지 컬렉션)이 처리해야 하는 작업이 줄어듭니다. 이번 포스팅은 어디까지나 StringBuilder 클래스와 StringBuffer 클래스의 차이점을 소개하는 게 목적이므로 String에 대해 언급하지 않습니다. StringBuilder, StringBuffer 클래스의 동작 방식, String과 차이점에 대한 내용은 아래 포스팅에서 확인할.. Java/문자열 2022. 9. 10. [Java]StringBuffer 클래스 사용 방법 StringBuffer 클래스 사용 방법 Java에서 제공하는 StringBuffer 클래스는 멀티 스레드에서 안전한 클래스입니다. 여러 스레드가 StringBuffer 객체에 접근할 수 없기 때문입니다. StringBuffer 클래스는 문자열을 추가, 삭제, 변경할 수 있는 메서드를 제공하며, String 클래스보다 우수한 성능을 지니고 있습니다. 이번 포스팅은 StringBuffer 클래스에 대한 설명과 사용 방법을 소개합니다. String 클래스의 문제점 String 클래스는 불변(Immutable) 클래스입니다. 기존 문자열 변수의 값을 변경하면, 기존 문자열을 변경하지 않고 새로운 문자열을 생성하기 때문입니다. 위 내용을 이해하기 쉽게 다음 소스 코드를 확인해봅시다. public static v.. Java/문자열 2022. 9. 10. [Java]StringBuilder 클래스 사용 방법 StringBuilder 클래스 사용 방법 Java에서 제공하는 StringBuilder 클래스는 단일 스레드에서는 안전하지만, 멀티 스레드에서는 불안전한 클래스입니다. StringBuilder 클래스는 문자열을 추가, 삭제, 변경할 수 있는 메서드를 제공하며, String 클래스보다 우수한 성능을 지니고 있습니다. 이번 포스팅은 StringBuilder 클래스에 대한 설명과 사용 방법을 소개합니다. String 클래스의 문제점 String 클래스는 불변(Immutable) 클래스입니다. 기존 문자열을 변경하지 않고 새로운 문자열을 생성하기 때문이죠. 예를 들어, 다음 소스 코드를 확인해봅시다. public static void main(String args[]) { String str = "Hello".. Java/문자열 2022. 9. 8. [Java]배열 초기화 방법(Initializing Array) 배열 초기화 방법 Java에서 배열은 동일한 타입의 데이터가 연속적으로 존재하며, 크기가 고정인 데이터입니다. 배열을 초기화하는 방법은 간단합니다. 다음 소스 코드처럼 new 키워드를 사용하여 선언과 동시에 초기화하거나 또는 new 키워드를 생략할 수 있습니다. int intArray1[] = new int[] {0, 1, 2, 3}; int intArray2[] = {0, 1, 2, 3}; 하지만, 배열의 값을 0부터 1000까지 초기화해야 하는 경우 위 방법을 사용하는 것은 현명하지 않습니다. 이번 포스팅은 배열을 초기화하는 몇 가지 방법을 소개합니다. 방법 1. 반복문 배열의 크기를 미리 알고 있으며, 채워야 하는 값도 알고 있다면, 반복문을 사용하여 값을 할당할 수 있습니다. 다음 예제는 int .. Java/배열 2022. 9. 8. 이전 1 2 3 4 ··· 13 다음