Languages/Java 38

[Java]문자열에 공백을 제거하는 방법(Trim, Replace, Stripe)

프로그래밍을 하다 보면 문자열에 대한 공백을 제거해야하는 경우가 있습니다. 이러한 경우에 사용할 수 있는 방법에 대해 알아보도록 하겠습니다. 문자열 공백 처리 - Trim String str = " 오늘은 날씨가 너무 좋다. " String trimStr = str.trim() System.out.println(str) System.out.println(trimStr) // 오늘은 날씨가 너무 좋다. //오늘은 날씨가 너무 좋다. 위의 소스 코드를 보면 trim()으로 공백을 처리한 결과를 볼 수 있습니다. 하지만 trim()으로 공백을 처리하게 되면 양쪽의 공백은 모두 제거되지만, 문자열 사이에 있는 공백은 제거되지 않습니다. 만약 전체의 공백을 모두 지워야 하는 상황이라면 어떻게 해야 할까요? 바로 ..

Languages/Java 2023.08.10

[Java]다양한 Exception handling(예외 처리) 알아보기

실행되고 있는 프로그램이 비정상적인 종료가 된다거나 오작동을 하게 되면 심각한 문제를 야기하게 됩니다. 이러한 문제를 야기하는 원인에는 바로 Error와 Exception이 있습니다. 이번 포스팅은 Error(오류)와 Exception(예외)의 차이를 명확히 구분하고, 예외 처리(Exception Handling)에 대해 알아보도록 하겠습니다. Error와 Exception의 차이는? 오류(Error)는 시스템 수준에서 발생하는 심각한 예외 상황을 말합니다. 일반적으로 개발자가 코드에서 직접 수정할 수 없으며, 보통 소프트웨어 외적인 부분에서 발생하는 문제를 의미합니다. 하지만 예외(Exception)는 프로그램 실행 도중 예상치 못한 상황이 발생할 때를 말합니다. 오류와 다르게 예외는 프로그램 내부에서..

Languages/Java 2023.07.23

[Java]정규식(Regular Expression) - 유용한 문자열 처리를 위한 강력한 도구

Java의 정규식(Regular Expression)은 문자열 처리에 있어서 강력하고 유용한 도구로서 널리 활용되고 있습니다. 정규식은 특정 패턴을 표현하는 문자열로, 문자열 검색, 추출, 대체 등 다양한 작업에 사용됩니다. 이번 글에서는 Java에서 정규식을 사용하는 방법과 주요 기능들에 대해 알아보겠습니다. 정규식(Regular Expression)을 사용하는 이유 정규식을 활용하면 문자열 처리와 데이터 추출에 있어서 강력하고 유연한 도구를 제공합니다. 정규식은 프로그래밍에서 많이 사용되는 기술 중 하나로, 코드의 가독성과 유지보수성을 높이고, 데이터 처리에 있어서도 높은 효율성을 얻을 수 있습니다. 이제 Java에서 정규식을 사용하는 방법과 핵심 기능에 대해 알아보도록 하겠습니다. Pattern 클..

Languages/Java 2023.07.23

[Java]인터페이스 - 객체지향 프로그래밍의 주요 개념과 활용방법

객체지향언어는 무엇인가?라는 질문을 한다면 개발을 하는 사람 10명 중 8명 이상은 JAVA라고 답할 것입니다. 이러한 객체 지향 방식에는 엄연한 4가지의 특성이 있습니다. 바로 캡슐화, 상속, 추상화, 다형성이 있다. 이러한 4가지 특성을 이용하여 객체 지향 개발 원칙 "SOLID"를 지켜 개발자들은 프로그래밍합니다. 이러한 SOLID 원칙을 잘 지킨 프로그램은 유지보수가 아주 쉬워지는 결과를 갖게 됩니다. 그 이유는 SOLID를 잘 지킨 객체 지향 프로그램은 클래스 간의 영향력을 적게 주고, 클래스 내부적으로 응집하게 됩니다. 따라서 클래스 하나하나가 독립적인 모듈이 되고, 수정이 필요하다면 클래스만 수정하면 되기 때문에 유지보수가 쉬운 완성도 높은 프로그램이 됩니다. 이러한 방식의 프로그래밍을 하기..

Languages/Java 2023.07.23

[Java]제네릭(Generic)을 쉽게 이해하기(문법과 활용)

이번 포스팅은 Java 5부터 등장한 제네릭(Generic)에 대하여 알아보겠습니다. 제네릭(Generic)은 일반화한다는 뜻을 가진 generalize에서 비롯된 말입니다. 그럼 이쯤에서 생각해 볼 수 있는 내용은 어떠한 것을 일반화를 하는 데 쓰인다. 라고 생각할 수 있습니다. JAVA에서 어떠한 것은 바로 자료형이다. 즉 자료형을 일반화함으로써 자료형에 종속적이지 않은 클래스를 정의할 수 있다. 왜 제네릭(Generic)을 사용하는 것일까? List testList = new ArrayList(); testList.add("mooonstar"); testList.add(1000); int i = 변수 String dst = (String)testList.get(i); 이와 같은 코드가 있으면 컴파일..

Languages/Java 2023.07.21

[Java]문자열(String)과 리스트(List)의 null, 빈 값인지 확인하는 방법

Java 프로그래밍 중 사용할 객체를 생성한 후에 인스턴스를 생성하지 않은 상태에서 빈 오브젝트를 사용하려고 할 때 NullPointerException을 발생시킨다. NullPointerException은 가장 많이 발생하는 예외 중 하나로 해당 예외를 발생시키지 않기 위해 nul 체크를 해주어야 한다. NullPointerException이 발생하는 유형 Object obj = null; obj.toString(); obj.equals(""); obj.length(); NulllPointerException을 발생시키는 케이스는 보통 다음과 같다. null인 상태의 객체에서 메서드를 호출하는 경우 null인 상태의 객체의 필드에 접근하는 경우 null인 객체의 길이를 구하려는 경우 try-catch에..

Languages/Java 2023.07.20

[Java]안정적인 NULL 처리가 가능한 Optional 알아보기(NullPointerException)

프로그래밍을 할 때 가장 많이 발생하는 예외 중 하나는 바로 NullPointerException입니다. 해당 예외는 실제 값이 아닌 null을 갖고 있는 객체 및 변수를 호출할 때 발생하는 예외입니다. 이와 같은 예외를 예방하기 위해 개발자는 조건문을 사용하여 null을 확인하곤 합니다. 하지만 Java 8 이후 등장한 Optional 클래스를 이용하여 복잡한 조건문 없이 NullPointerException을 예방할 수 있습니다. Optional 클래스란? '선택사항'이라는 뜻을 가지고 있는 Optional 클래스에 대해 알아보겠습니다. public final class Optional { /** *if non-null, the value, if null, indicates no value is pr..

Languages/Java 2023.07.16

[Java]문자열 클래스 String, StringBuffer, StringBuilder 알아보기

대표적인 Java의 문자열을 다루는 자료형 클래스는 String, StringBuffer, StringBuilder 이 세 가지로 구분된다. 하지만 정확한 쓰임에 따라 구분하는 건 어려울 것입니다. 이번 포스팅에서는 세 가지 클래스에 대해 알아보고 어떠한 목적에 맞게 사용해야 하는지 알아보도록 하겠습니다. 가장 자주 사용되는 String 클래스 Java에서 String은 변하지 않는다는 특징을 갖고 있습니다. 따라서 문자열이 변하지 않는다고 가정할 때 문자열 클래스 중에 가장 뛰어난 성능을 기대할 수 있습니다. 하지만 실제 계속해서 문자열이 변하는 코드를 작성하게 되는 경우에는 좋지 않은 성능을 보일 것입니다. 이러한 이유로 인해 StringBuilder, StringBuffer가 등장했습니다. Stri..

Languages/Java 2023.07.06

[Java]ArrayList와 LinkedList 적절하게 사용하기(Java의 동적 배열)

실제 프로그래밍 언어에서 가장 많이 사용되는 자료구조는 바로 리스트이다. Java에서 제공하는 리스트 인터페이스로 구현된 ArrayList와 LinkedList를 알아보고 적절하게 사용하는 방법을 알아보도록 하자. [Java]컬렉션(Collection)의 개념과 구조 파악 하기 📌컬렉션(Collection)의 개념과 구조 파악 하기 JAVA의 컬렉션(collection>이란 데이터의 집합을 의미하며 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고과적으로 처리할 수 있는 표준화 mooonstar.tistory.com 일반 배열과의 다른 점은? ArrayList는 일반적으로 배열을 사용한다. 하지만 Array를 사용하지 않고 ArrayList를 사용하는 이유가 있다. 그 이유..

Languages/Java 2023.07.06

[Java]do while, while문은 어떤 상황에서 사용할까?

프로그래밍을 하다 보면 코드가 반복하여 실행되는 경우가 있다. 이런 경우에 사용하는 여러 가지 방법이 있는데 이번 포스팅에서는 사용 방법이 유사한 while문과 do while 문의 차이를 알아보고 어떤 상황에 사용을 해야 하는지에 대해 알아보도록 하겠습니다. 가장 자주 사용되는 for문 [Java]일반적인 for문과 이후의 등장한 향상된 for문 알아보기 프로그래밍을 하면서 일반적으로 사용하는 for문은 초기값, 조건식, 증감식을 사용하여 다음과 같이 사용을 합니다. 초기화 : 반복문에서 사용될 변수를 초기화 조건식 : 조건식의 값이 참이어야 mooonstar.tistory.com 반복문 하면 가장 바로 떠오르는 구문은 바로 for문일 것입니다. 하지만 정해진 횟수만큼 반복하는 for문과 다르게 어떠한..

Languages/Java 2023.07.02