Languages/Java 38

[Java]Stream 살펴보기_(2)Filter를 사용한 데이터 추출하기

[Java]stream 살펴보기_(1)등장 배경, 컬렉션과의 차이 2023.03.29 - [Languages/Java] - [Java] 컬렉션(Collection)의 개념과 구조 파악 하기 [Java]컬렉션(Collection)의 개념과 구조 파악 하기 📌컬렉션(Collection)의 개념과 구조 파악 하기 JAVA의 컬렉션(collection>이란 데 mooonstar.tistory.com 이전 포스팅에서 Java 8 이후에 등장한 스트림(Stream)에 대하여 알아보았습니다. Stream API는 생성, 중개, 종료의 구조로 사용되는데 이번 포스팅에서는 중개연산 방법 중 하나인 Stream Filter를 사용하여 생성된 스트림에서 데이터를 추출해 보도록 하겠습니다. Stream Filter란? Jav..

Languages/Java 2023.06.24

[Java]다형성을 지원하는 방법 오버로딩과 오버라이딩 개념 잡기

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

Languages/Java 2023.06.24

[Java]Static의 사용을 지양해야하는 이유(정적 변수, 정적 메서드)

처음 Java에 대해 배울 때 코드에서 자주 볼 수 있는 단어는 바로 Static이다. Java에서의 static이라는 키워드를 사용해서 정적 필드와, 정적 메서드를 만들 수 있다. 이 둘을 합쳐 클래스 멤버라고 표현된다. 이렇게 생성된 클래스 멤버는 클래스에 고정된다. 이번 포스팅에서는 '정적'이라는 뜻을 가지고 있는 Static의 사용을 지양해야 하는 이유에 대해 알아보도록 하겠습니다. Static 사용이 메모리의 미치는 영향 Static으로 생성된 정적 멤버는 프로그램의 실행됨과 동시에 메모리에 올라간다. 이러한 이유로 인해 사용되지 않음에도 불구하고 메모리를 차지하고 있기 때문에 불필요한 자원이 낭비되고 있는 셈이다. 또한 Static을 사용해 만들어진 변수와 클래스는 앞에 '전역'이라는 의미가 ..

Languages/Java 2023.06.18

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

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

Languages/Java 2023.06.06

[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

[Java]JSON과 GSON의 관계는 무엇인가?

📌JSON(JavaScript Object Notation)이란? JavaScript Object Notation의 축약어인 Json은 개발을 하면서, 데이터를 저장하거나 전송하는 경우에 많이 사용되는 데이터의 형식이다. JSON 데이터 포맷은 사람과 기계 모두 이해하기 쉽고, 용량이 가볍기 때문에 XML을 대체하는 수단으로 Json을 사용된다. 📌JSON(JavaScript Object Notation)의 특징 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용됩니다. 자바스크립트 객체 표기법과 아주 유사합니다. 자바스크립트를 이용하여 JSON 형식의 문서를 쉽게 자바스크립트 객채로 변환할 수 있는 이점이 있습니다. JSON 문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어졌습니다. 자바스크립트..

Languages/Java 2023.03.22