java 28

[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]다형성을 지원하는 방법 오버로딩과 오버라이딩 개념 잡기

객체지향 언어 Java의 중요 개념 중 하나인 '다형성'을 지원하는 방법으로 오버로딩과 오버라이딩이 있습니다. 개념은 다르지만 이름부터 비슷한 이 두 개의 단어를 이번 포스팅에서 예제를 통해 확실히 구분하도록 하겠습니다. Java의 다형성이란? 다형성의 사전적 의미는 다음과 같습니다. 다형성이란, 그 자체의 의미를 표준 국어사전에서 찾아보면, '같은 종의 생물이면서도 어떤 형태나 형질이 다양하게 나타나는 현상' 이라 정의함 위의 내용을 프로그래밍 관점으로 실제 예시를 들어보도록 하겠습니다. 위의 이미지를 보면, 세 개의 차량 모두 차라는 공통점을 가지고 있지만, 모양과 기능은 제각각이고 그에 따라 차량의 가격도 상이합니다. 코드를 보겠습니다. //공통 class CAR { void light_On() {..

Languages/Java 2023.06.24

[Java]일반적인 for문과 이후의 등장한 향상된 for문 알아보기

프로그래밍을 하면서 일반적으로 사용하는 for문은 초기값, 조건식, 증감식을 사용하여 다음과 같이 사용을 합니다. 초기화 : 반복문에서 사용될 변수를 초기화 조건식 : 조건식의 값이 참이어야만 반복, 거짓일 경우 for문 종료 증감식 : 반복문에 사용되는 변수를 증가, 감소하며 제어 📌일반적인 for문 //i는 0부터 10이하의 수까지 1씩 증가하며 출력한다. for(int i=0; i

Languages/Java 2023.06.06

[Java]stream 살펴보기_(1)등장 배경, 컬렉션과의 차이

2023.03.29 - [Languages/Java] - [Java] 컬렉션(Collection)의 개념과 구조 파악 하기 [Java]컬렉션(Collection)의 개념과 구조 파악 하기 📌컬렉션(Collection)의 개념과 구조 파악 하기 JAVA의 컬렉션(collection>이란 데이터의 집합을 의미하며 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고과적으로 처리할 수 있는 표준화 mooonstar.tistory.com 기존의 컬렉션 데이터에 대한 데이터의 처리를 하기 위해선 for, foreach문과 같은 반복을 통해 필요한 데이터를 필터링하는 작업이 필요했습니다. 하지만 사이즈가 크거나 복잡한 처리를 요구하는 작업에서의 성능 문제가 발생하였고, Java 8 이후의..

WEB/Spring 2023.05.21

[Java]문자열 내 특정 문자 포함 여부 확인 및 위치 찾기(contains, indexOf)

이번 포스팅은 Java에서 문자열 내의 특정 문자의 포함 여부 및 위치를 찾을 수 있는 방법에 대해 알아보도록 하겠습니다. 문자열 내 특정 문자 포함 여부 확인contains() : 문자열 내에 임의의 문자열을 포함하고 있는지 확인할 수 있는 메서드 boolean(true, false)로 반환되며, 대소문자까지 일치해야 true를 반환한다.String str = "Mooonstar blog is good";System.out.println(str.contains("mooonstar");System.out.println(str.contains("Mooonstar");System.out.println(str.contains("blog");//false(대소문자가 일치하지 않음)//true//true 문자열 ..

Languages/Java 2023.05.07

[Java]배열을 원하는 크기대로 분할하는 방법(Guava : 구글 오픈소스 라이브러리)

📢배열을 원하는 크기로 분할(Guava 사용) 우선 Guava는 구글이 만든 Java 오픈소스 라이브러리 입니다. 개발을 하면서 필요한 유틸리티 함수와 클래스들을 직접 만들어 사용하지만, 이러한 방법은 개발을 함에 있어서 생각보다 많은 시간이 소요됩니다. 하지만 Guava를 사용하면 이것으로부터 유용한 유틸리티 함수와 클래스를 제공받아 원할한 개발을 할 수 있습니다. 이번 포스팅에서는 Guava에 대한 전체적인 내용을 다루지 않고 Guava를 사용하여 배열에 대한 동적 분할을 다루도록 하겠습니다. 📢배열을 원하는 SIZE로 분할(Guava 사용) //분할할 사이즈 지정 변수 final int size = 5; String[] arr = {"1", "2", "3", "4", "5", "6", "7", "8..

Languages/Java 2023.05.06

[Java]기본 입출력 클래스 스캐너(Scanner)란?

각종 SNS나 카카오톡 메세지를 입력하고 전송하는 것과 같은 화면으로부터 특정 데이터를 입력받아야 하는 경우가 발생합니다. 이러한 상황에서 각각의 프로그래밍 언어에는 화면으로부터 입력을 받기 위한 방법이 존재합니다. 예를들어 C언어에는 scanf() 함수를 통해 입력을 받을 수 있으며, 지금부터 알아볼 Java에서는 스캐너(Scanner)클래스를 통해 화면으로부터 정보를 입력받을 수 있습니다. 📌Scanner 클래스의 특징 문자열, 정수와 같은 기본적인 데이터 타입을 입력받을 수 있고, 메서드를 통해 원하는 타입으로 변환이 가능하다. Scanner 클래스는 java.util 패키지 안에 존재하기 때문에 사용하기 위해서는 import해주어야 한다. Scanner의 메서드들은 공백과 개행 기준으로 읽기 때문..

Languages/Java 2023.05.01

[Java]문자열을 정수형으로 변경하는 방법(자료형 Casting)

Java에서 정수형으로 받아야 하는 값이 문자열로 들어와 처리를 해야하는 경우가 있다. 이러한 경우 Java의 Integer 함수를 사용하면 간단하게 형변환이 가능하다. 📌Integer 함수를 사용하여 정수형 변경 이 메서드는 특정 문자열을 원시형으로 리턴해준다. 하지만 "문123"과 같은 문자열이 포함된다면 NumberFormatException이 발생한다. 따라서 항상 try - catch문으로 감싸 Exception을 처리해주어야 한다. 📌Integer.parseInt(문자열) - 예시 String str = "11111111111" try{ int numbert = Integer.parseInt(str); System.out.println(number); } catch(Exception ex) {..

Languages/Java 2023.05.01

[Java]컬렉션(Collection)의 개념과 구조 파악 하기

📌컬렉션(Collection)의 개념과 구조 파악 하기 JAVA의 컬렉션(collection>이란 데이터의 집합을 의미하며 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고과적으로 처리할 수 있는 표준화된방법을 제공하는 클래스의 집합을 의미한다. 📌컬렉션의 상속관계 📌컬렉션(collection) 을 사용해야 하는 이유? 통일된 API : 컬렉션(collection) 하위의 모든 클래스들이 컬렉션에서 상속받은 통일된 메서드를 사용 가능하다. 효율적인 프로그래밍 : 기본적인 알고리즘을 제공하기 때문에 필요로한 자료형을 코드로 구현 할 필요가 없어진다. 계층적 인터페이스 사용 : 객체 지향 프로그래밍의 추상화가 잘 구현되어 있다. 📌컬렉션 프레임워크(collection frame..

Languages/Java 2023.03.29