목록Java (308)
SeouliteLab
자바에서 배열을 정렬하는 것은 매우 일반적인 작업입니다. 배열을 오름차순으로 정렬하거나 내림차순으로 정렬하는 방법에 대해 알아보겠습니다. 각각의 방법에 대해 예제를 통해 자세히 살펴보겠습니다. 예제 1: Arrays.sort() 메서드를 이용한 오름차순 정렬 int[] arr = {3, 1, 5, 2, 4}; Arrays.sort(arr); // 오름차순 정렬 System.out.println(Arrays.toString(arr)); // 출력 결과: [1, 2, 3, 4, 5] Arrays.sort() 메서드를 사용하여 배열을 오름차순으로 정렬할 수 있습니다. 이 메서드는 배열을 직접 변경하며 반환값은 void입니다. 예제 2: Comparator.reverseOrder()를 이용한 내림차순 정렬 In..
ArrayList는 자바에서 가장 많이 사용되는 동적 배열 자료구조입니다. ArrayList를 초기화하는 여러 가지 방법이 있습니다. 이번에는 ArrayList를 초기화하는 여러 가지 방법을 알아보겠습니다. 예제 1: 생성자를 이용한 초기화 // 빈 ArrayList 생성 ArrayList list1 = new ArrayList(); // 초기값을 가지는 ArrayList 생성 ArrayList list2 = new ArrayList(Arrays.asList("사과", "바나나", "딸기")); ArrayList를 생성할 때 생성자를 이용하여 빈 리스트를 만들거나 초기값을 가진 리스트를 만들 수 있습니다. 예제 2: add() 메서드를 이용한 초기화 ArrayList list = new ArrayList..
자바에서는 문자열을 변경할 때 replace()와 replaceAll() 메서드를 주로 사용합니다. 두 메서드는 비슷해 보이지만 동작 방식과 사용 방법에 있어서 차이가 있습니다. 이번에는 두 메서드의 차이점을 알아보고 각각의 사용법을 살펴보겠습니다. replace() 메서드 String str = "Hello, World!"; String replacedStr = str.replace(",", ""); System.out.println(replacedStr); // 출력 결과: "Hello World!" replace() 메서드는 지정된 문자 또는 문자열을 다른 문자 또는 문자열로 대체합니다. 이때 첫 번째 인자로는 대체 대상이 되는 문자열 또는 문자를, 두 번째 인자로는 대체할 문자열을 전달합니다. 이..
자바에서 문자열을 다룰 때 종종 앞뒤에 불필요한 공백이 포함되어 있거나 특정 문자를 제거해야 할 때가 있습니다. 이를 처리하기 위해 trim()과 replace() 메서드를 사용할 수 있습니다. 아래에서는 이러한 메서드를 사용하여 문자열을 다루는 방법을 살펴보겠습니다. 예제 1: 문자열 앞뒤 공백 제거 - trim() String str = " Hello World "; String trimmedStr = str.trim(); System.out.println(trimmedStr); // 출력 결과: "Hello World" trim() 메서드를 사용하여 문자열의 앞뒤에 있는 공백을 제거할 수 있습니다. 예제 2: 문자열 내 모든 공백 제거 - replaceAll() String str = "Hello ..
Java의 String.matches() 메서드는 주어진 정규 표현식과 일치하는지 여부를 확인하는 데 사용됩니다. 이를 통해 문자열이 특정 패턴과 일치하는지 확인할 수 있습니다. 아래에서 다양한 예제를 살펴보겠습니다. 예제 1: 알파벳 문자열 확인 String str = "Hello"; boolean isMatch = str.matches("[a-zA-Z]+"); System.out.println(isMatch); // 출력 결과: true 이 예제에서는 문자열이 알파벳으로만 구성되어 있는지 확인합니다. 정규 표현식 "[a-zA-Z]+"은 하나 이상의 알파벳 문자로 이루어진 문자열을 나타냅니다. 예제 2: 숫자로만 이루어진 문자열 확인 String str = "12345"; boolean isMatch ..
자바 프로젝트를 컴파일하거나 실행할 때 "Unsupported class file major version 61"과 같은 오류가 발생하면 자바 컴파일러가 지원하지 않는 클래스 파일 버전을 사용하고 있음을 나타냅니다. 이 문제를 해결하기 위해 몇 가지 방법을 살펴보겠습니다. 예제 1: JDK 버전 확인 java -version 먼저 자신의 시스템에 설치된 JDK 버전을 확인합니다. 오류가 발생한 프로젝트의 JDK 버전과 호환되는지 확인해야 합니다. 예제 2: JDK 업그레이드 sudo apt-get install openjdk-16-jdk 지원되는 JDK 버전이 필요한 경우 최신 버전의 JDK를 설치합니다. 이렇게 하면 최신 클래스 파일 버전을 지원할 수 있습니다. 예제 3: 소스 및 대상 호환성 설정 j..
자바(Java)는 객체지향적이며 범용적인 목적의 프로그래밍 언어로, 1995년에 선보여진 이후 광범위한 개발 분야에서 널리 사용되고 있다. 자바의 특징과 장점, 그리고 예제를 통해 간단히 알아보겠다. 특징: 객체지향적: 자바는 객체지향 프로그래밍(OOP)을 지원하여 코드의 재사용성과 유지보수성을 높였다. 플랫폼 독립적: 자바는 가상 머신(Java Virtual Machine, JVM) 위에서 실행되기 때문에 플랫폼에 독립적이다. 간결하고 안전한 문법: C++과 비슷한 문법을 가지고 있지만 포인터를 사용하지 않고 메모리 관리를 자동화하여 프로그램의 안정성을 높였다. 멀티스레딩 지원: 자바는 멀티스레드 프로그래밍을 지원하여 병렬 처리를 효율적으로 수행할 수 있다. 예제: "Hello, World!" 출력하기..
Java에서의 가비지 컬렉션(Garbage Collection)은 자동으로 메모리 관리를 수행하여 사용하지 않는 객체를 자동으로 해제하는 기능이다. 이를 통해 메모리 누수를 방지하고 프로그램의 안정성과 성능을 향상시킨다. 가비지 컬렉션의 주요 동작은 다음과 같다: 참조 추적(Reference Tracking): 가비지 컬렉션은 먼저 모든 객체 간의 참조를 추적한다. 이를 통해 어떤 객체가 아직 참조되고 있는지를 확인한다. 불필요한 객체 식별: 참조 추적을 통해 더 이상 참조되지 않는 객체인 "가비지"를 식별한다. 이는 주로 참조되지 않는 객체에 대한 모든 참조가 제거되었을 때 발생한다. 메모리 해제: 가비지로 식별된 객체의 메모리를 해제한다. 이를 통해 해당 객체가 차지하던 메모리 공간이 반환되어 다른 ..
Java 8부터 도입된 람다 표현식(Lambda Expression)은 함수형 프로그래밍을 지원하여 코드를 간결하게 작성할 수 있게 해주는 기능이다. 람다 표현식은 익명 함수(Anonymous Function)를 생성할 수 있어서 메서드를 간단하게 표현할 수 있다. 람다 표현식의 기본 문법은 다음과 같다. (parameter_list) -> {body} 여기서 parameter_list는 메서드에 전달되는 인자의 리스트이고, body는 메서드의 기능을 구현하는 코드 블록이다. 예를 들어, 리스트의 각 요소를 출력하는 메서드를 람다 표현식으로 표현하면 다음과 같다. List list = Arrays.asList("apple", "banana", "orange"); list.forEach(item -> Sy..
Java에서 static(정적) 변수는 클래스에 속하는 변수로서, 모든 인스턴스가 공유하는 공통된 값이며 프로그램 실행 중에 한 번만 메모리에 할당된다. 이러한 특성은 다음과 같은 메모리 관리 측면에서 중요한 역할을 한다. 메모리 할당: static 변수는 프로그램이 시작될 때 클래스가 로딩되면서 메모리에 할당된다. 클래스 내부에 선언되어 있으므로 클래스의 인스턴스화와는 무관하게 사용할 수 있다. 공유된 값: static 변수는 모든 인스턴스가 공유하는 값으로서, 한 번의 수정으로 모든 인스턴스에 영향을 미친다. 이를 통해 데이터의 일관성을 유지할 수 있다. 메모리 누수 방지: static 변수는 프로그램이 종료될 때까지 메모리에 남아있기 때문에, 필요 이상으로 메모리를 소비할 수 있다. 이를 방지하기 ..