본문 바로가기
반응형

전체 글201

초보 자바 프로그래밍(45) - 문자열 연산 성능 최적화 (StringBuilder, StringBuffer) 🔖 INDEX 문자열 성능 최적화 방법 자바에서 문자열은 불변 객체이므로, 문자열을 수정하면 새로운 객체가 생성됩니다. 이로 인해 문자열 연산이 많은 작업에서는 메모리 사용량이 불필요하게 늘어나고 성능이 저하될 수 있습니다. 따라서 문자열 성능 최적화는 자바 프로그래밍에서 중요한 고려사항 중 하나입니다. 아래는 문자열 성능 최적화에 대한 몇 가지 방법입니다. 문자열 연산 시 StringBuilder 또는 StringBuffer 사용 StringBuilder나 StringBuffer는 문자열을 수정할 때 새로운 객체를 생성하지 않고 기존 객체를 수정합니다. StringBuilder는 멀티스레드 환경에서 사용하지 않으며, 단일 스레드 환경에서는 StringBuffer보다 빠릅니다. String str = ".. 2023. 5. 4.
초보 자바 프로그래밍(44) - 날짜와 시간 처리 (문자열 포맷팅) 🔖 INDEX 자바에서 날짜와 시간을 처리하는 데는 주로 java.time 패키지를 사용합니다. 이 패키지는 자바 8부터 도입된 새로운 날짜와 시간 API로, 기존의 java.util.Date와 java.util.Calendar 클래스의 문제점을 해결하고자 개발되었습니다. java.time 패키지의 주요 클래스는 다음과 같습니다. LocalDate: 날짜 정보만을 포함합니다. LocalTime: 시간 정보만을 포함합니다. LocalDateTime: 날짜와 시간 정보를 함께 포함합니다. ZonedDateTime: 날짜와 시간 정보와 함께 시간대 정보까지 포함합니다. 날짜와 시간 생성 현재 날짜와 시간 얻기 자바에서 현재 날짜와 시간을 얻으려면 다음과 같이 작성합니다. import java.time.Loca.. 2023. 5. 4.
초보 자바 프로그래밍(43) - 주요 MBCS 인코딩 방식 🔖 INDEX ISO-8859-1 (ISO Latin-1) ISO-8859-1(Latin-1)은 서유럽 언어에 사용되는 문자들을 포함한 8비트 인코딩 방식입니다. 이 인코딩 방식은 256개의 문자를 표현할 수 있으며, 그 중 128개는 ASCII 문자와 동일합니다. 나머지 128개의 문자는 서유럽 언어(예: 프랑스어, 독일어, 스페인어 등)에서 사용되는 특수 문자, 악센트가 붙은 문자, 기호 등을 포함합니다. ISO-8859-1 인코딩의 특징 8비트 인코딩으로 문자당 1바이트로 표현할 수 있습니다. 영어와 서유럽 언어를 효율적으로 표현할 수 있지만, 다른 언어의 문자를 표현하기에는 부족합니다. ASCII 문자와 호환되어 처리 속도가 빠릅니다. ISO-8859-1 사용 예제 간단한 자바 예제 코드를 통해 .. 2023. 5. 4.
초보 자바 프로그래밍(42) - 주요 유니코드 인코딩 방식 🔖 INDEX UTF-8 인코딩 UTF-8(Unicode Transformation Format 8-bit)은 유니코드 문자를 가변 길이의 바이트로 인코딩하는 방식으로, 각 문자에 따라 바이트 길이가 다릅니다. 유니코드는 전 세계 언어의 문자를 포함하고 있어, 그 수가 상당히 많습니다. 따라서 UTF-8 인코딩은 문자의 종류에 따라 필요한 바이트 길이를 최적화하여 저장 공간을 절약하고, 처리 속도를 높이기 위해 고안되었습니다. UTF-8 인코딩 원리 ASCII 문자: 1바이트로 인코딩되며, ASCII 문자 그대로 사용됩니다. 즉, 0xxxxxxx 형태의 7비트로 표현됩니다. 다른 문자: 2바이트 이상으로 인코딩되며, 인코딩된 바이트의 수를 앞의 연속된 1비트 개수로 표현합니다. 예를 들어, 인코딩된 바이.. 2023. 5. 4.
초보 자바 프로그래밍(41) - 문자셋과 유니코드 🔖 INDEX 문자셋(Character Set)과 유니코드(Unicode)는 모두 컴퓨터에서 문자를 표현하고 처리하기 위한 체계입니다. 그리고, 자바에서 문자 데이터를 다루는 데 있어서 인코딩(Encoding)은 매우 중요한 개념입니다. 이 글에서는 문자셋과 유니코드, 인코딩을 이해하고 활용하는 방법에 대해서 알아보겠습니다. 문자셋과 인코딩 문자셋은 컴퓨터가 문자를 표현하고 인식하는 규칙의 집합입니다. 문자셋을 이해하기 위해서는 다음과 같은 개념들을 알아야 합니다. 코드 포인트 (Code Point) 코드 포인트(Code Point)는 문자를 컴퓨터에서 표현하는 데 사용되는 고유한 숫자 값입니다. 문자셋에서 문자에 할당된 고유한 숫자로, 이 숫자를 통해 컴퓨터가 해당 문자를 인식하고 처리할 수 있습니다... 2023. 5. 4.
초보 자바 프로그래밍(40) - 정규표현식과 문자열 처리 🔖 INDEX 문자열 검색 1. Pattern 클래스 Pattern 클래스는 정규 표현식을 컴파일하여 패턴을 생성합니다. 정규 표현식을 사용하기 위해 먼저 Pattern 객체를 생성해야 합니다. // 정규 표현식 패턴을 정의합니다. String regex = "\\d+"; // 패턴을 컴파일하여 Pattern 객체를 생성합니다. Pattern pattern = Pattern.compile(regex); 2. Matcher 클래스 Matcher 클래스는 패턴을 입력 문자열에 적용하여 일치하는 부분을 찾습니다. Pattern 객체를 사용하여 Matcher 객체를 생성할 수 있습니다. String input = "There are 12 months in a year."; // Matcher 객체를 생성하여 입.. 2023. 5. 4.
초보 자바 프로그래밍(39) - 정규표현식 (Regular Expression) 🔖 INDEX 정규 표현식의 주요 요소와 예시 정규 표현식(Regular Expression)은 문자열 처리 작업에 사용되는 강력한 도구로, 특정 패턴에 일치하는 문자열을 찾거나 대체하는 등의 작업을 수행할 수 있습니다. 정규 표현식은 특수한 문자들로 구성된 문자열로, 각 문자가 특정한 의미를 가지며 이를 조합하여 복잡한 문자열 패턴을 나타낼 수 있습니다. 정규 표현식의 주요 요소와 예시는 다음과 같습니다: 리터럴(Literal) 리터럴은 문자 그대로의 값을 가지는 문자입니다. 예를 들어, 정규 표현식 'hello'는 문자열 "hello"와 일치합니다. 정규 표현식에서 문자열 "hello"를 찾는 것은 특별한 패턴을 찾는 것이 아니라, 입력된 문자열에서 "hello"라는 문자열이 있는지 확인하는 것입니다.. 2023. 5. 2.
초보 자바 프로그래밍(38) - 문자열 변환 🔖 INDEX 대소문자 변환 자바에서 문자열의 대소문자를 변환하기 위해, String 클래스에서 제공하는 toUpperCase() 및 toLowerCase() 메서드를 사용할 수 있습니다. 이 두 메서드는 각각 문자열의 모든 문자를 대문자 또는 소문자로 변환한 새로운 문자열을 반환합니다. 소문자로 변환하기 toLowerCase() 메서드를 사용하여 문자열의 모든 문자를 소문자로 변환할 수 있습니다. 예를 들어: String input = "Hello World!"; String lowerCaseInput = input.toLowerCase(); System.out.println(lowerCaseInput); // 출력: hello world! 대문자로 변환하기 toUpperCase() 메서드를 사용하여 .. 2023. 5. 2.
초보 자바 프로그래밍(37) - 문자열과 String 클래스 🔖 INDEX 문자열은 일련의 문자들로 이루어진 데이터 유형입니다. 자바에서 문자열은 문자를 원소로 하는 배열로 표현됩니다. 문자열은 텍스트 데이터를 처리하거나 저장하는 데 사용되며, 웹 사이트의 내용, 파일의 내용, 사용자 입력 등 다양한 상황에서 활용됩니다. 자바에서 문자열은 String 클래스를 사용하여 표현됩니다. String 클래스는 문자열을 처리하는 데 필요한 다양한 메서드를 제공하며, 문자열 객체를 생성하고 관리할 수 있습니다. String 클래스의 객체 생성 String 클래스는 java.lang 패키지에 포함되어 있어 별도의 import 구문 없이 사용할 수 있습니다. String 클래스는 문자열을 처리하는 데 필요한 다양한 메서드를 제공하며, 문자열 객체를 생성하고 관리할 수 있습니다... 2023. 5. 2.
반응형