본문 바로가기

728x90

java

(100)
[JAVA] java.util 패키지 java.util이란?java.util package에는 이름 그대로 유틸리티와 관련된 인터페이스와 클래스들이 있고, 컬렉션 프레임워크 역시 포함한다.컬렉션 프레임워크는 이미 다뤘었기 때문에, 이번에는 유틸리티와 관련해서 알아보자.컬렉션 프레임 워크는 아래 블로그에 잘 정리해뒀다.https://lold2424.tistory.com/183 [JAVA] 컬렉션 프레임워크(Collection Framework)컬렉션 프레임워크란?컬렉션 프레임워크(Collection Framework)는 Java에서 데이터 구조를 효율적으로 다룰 수 있도록 설계된 클래스와 인터페이스의 모음이다.이를 통해 다양한 자료구조를 쉽게 구현lold2424.tistory.comutil 패키지에 어떤 인터페이스와 클래스가 있는지 확인하려면..
[JAVA] 람다식(Lambda) 람다함수란?람다식(lambda expression)은 일부 프로그래밍 언어에서 사용되는 개념으로, 익명 함수(匿名函數, Anonymous functions)를 지칭하는 용어이다. 별도의 명칭을 지정해 정의해 주는 일반 함수와 달리 람다 함수는 이름 없이 그 내용물만 정의하기 때문이다.출처: https://namu.wiki/w/%EB%9E%8C%EB%8B%A4%EC%8B%9D 람다식람다식(lambda expression) 은 일부 프로그래밍 언어 에서 사용되는 개념으로, 익명 함수(匿名函數,namu.wiki보통 함수의 매개변수와 실행 로직을 간단하게 표현할 때 사용된다.람다식이 왜 등장했을까?람다식은 자바 8(Java 8, 2014년 출시)에서 처음 도입되었다.자바는 객체지향 프로그래밍(OOP)에 초점을 ..
[JAVA] 컬렉션 프레임워크(Collection Framework) 컬렉션 프레임워크란?컬렉션 프레임워크(Collection Framework)는 Java에서 데이터 구조를 효율적으로 다룰 수 있도록 설계된 클래스와 인터페이스의 모음이다.이를 통해 다양한 자료구조를 쉽게 구현하고 사용할 수 있다.쉽게 생각하면 자료 구조 종류의 형태들을 자바 클래스로 구현한 모음집이다.컬렉션 프레임워크의 종류자료 구조 모음집이라는데 그렇다면 얼마나 많은, 다양하게 있는지 확인하고 싶다면 아래 oracle 주소를 들어가면 된다.[https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html] JDK 23 Documentation - HomeThe documentation for JDK 23 includes d..
[멋쟁이사자] 백엔드 - 15일차 회고록 15일차학습 목표Java IO를 활용하여 파일을 읽고 쓸 수 있다.ava NIO (New IO)를 이용하여 버퍼(Buffer)와 채널(Channel)을 활용한 비동기 파일 입출력을 할 수 있다.Java NIO.2 (Files API, Path API)를 사용하여 파일 및 디렉토리를 생성, 복사, 이동, 삭제할 수 있다.Java IO, NIO, NIO.2의 차이점을 이해하고 적절한 상황에서 사용할 수 있다.IO스트림 기반으로 데이터를 읽고 쓰는 방식으로 동작한다.1byte 또는 1문자씩 읽고 쓰기 때문에 느리다는 단점을 가진다.Stream 기반 입출력이다.NIOIO는 성능이 느리고, 비동기 처리를 지원하지 않는다.NIO는 크게 3가지로 구성되어 있다.BufferChannelSelector논블로킹 과정에서 ..
[멋쟁이사자] 백엔드 - 14일차 회고록 14일차학습 목표스트림 API를 활용하여 데이터를 효율적으로 변환, 필터링, 집계 및 병렬 처리를 할 수 있으며, 성능을 최적화할 수 있다.스트림의 중간 연산(Intermediate Operations)과 최종 연산(Terminal Operations)의 개념을 이해하고, 다양한 연산(map, filter, sorted, reduce, collect 등)을 활용하여 데이터를 효과적으로 처리할 수 있다.여러 연산 단계를 연결한 스트림 파이프라인의 특성을 이해하고 활용할 수 있다.컬렉션이나 배열 데이터를 스트림으로 전환하여 선언적 프로그래밍으로 변환 후 프로세싱 할 수 있다.stream api어제에 이어서 stream을 이어서 학습했다.stream에는 중간, 최종 연산이 있다고 한다.이전까지는 이름까지는 모..
[JAVA] 제네릭(Generics) 제네릭자바에서 제네릭(Generic) 은 "박스" 라고 생각하면 된다.박스를 만들었는데, 안에 어떤 물건을 넣을지 모를 경우, 박스를 미리 만들어두고, 나중에 어떤 물건이든 넣을 수 있게 하면 된다.이처럼 제네릭 역시 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다.이는 객체별로 다른 타입의 자료가 저장될 수 있도록 해준다.제네릭이란말로 들으면 뭔지 이해가 잘 안가기 때문에 코드로 알아보자.ArrayList list = new ArrayList();위는 자바에서 자주 사용하는 자료형이 리스트다.다음과 같이 클래스 선언 문법에 꺾쇠 괄호 로 되어있는 코드 형태가 바로 제네릭이다.즉, 제네릭(Generic)은 배열의 타입을 지정하는 것처럼 리스트(ArrayList), 맵(HashMa..
[JAVA] 어노테이션 (Annotation) 등장 배경어노테이션이 등장하기 전의 문제점어노테이션이 등장하기 전에는 XML 기반 설정 파일이나 마커 인터페이스(Marker Interface)를 사용하여 메타데이터를 관리했다.XML 설정 방식설정이 많아지면 유지보수가 어려움실수로 XML을 수정하면 런타임 오류 발생 가능코드와 설정이 분리되어 있어 가독성이 떨어짐마커 인터페이스(Marker Interface) 방식특정 인터페이스를 구현하는 방식 (Serializable 등)런타임에서 해당 인터페이스가 구현되었는지 체크새로운 기능을 추가하려면 인터페이스를 계속 수정해야 함어노테이션의 등장자바 5(Java SE 1.5, 2004년)부터 어노테이션(Annotation)이 도입되어 코드 내에서 메타데이터를 직접 선언할 수 있게 되었다.이로 인해 설정과 코드가 ..
[멋쟁이사자] 백엔드 - 12일차 회고록 12일차학습 목표문자열 처리와 관련된 String, StringBuilder, StringBuffer 클래스의 특징과 차이점을 이해하고, 각 클래스의 적절한 문자열 조작을 수행할 수 있다.어노테이션의 목적과 기본 사용법을 이해하고, 커스텀 어노테이션을 정의하여 코드에 메타데이터를 추가하고 활용할 수 있다.제네릭의 개념과 사용법을 이해하고, 타입 안정성을 보장하면서 재사용 가능한 코드를 작성할 수 있으며, 와일드카드와 타입 제한을 활용해 유연한 제네릭 프로그래밍을 구현할 수 있다.컬렉션 프레임워크의 구조와 주요 인터페이스(List, Set, Map)를 이해하고 설명할 수 있다.문자열 처리java에서 문자열 처리를 하기 위한 각 클래스에 대해 학습했다.사실 기존에 이미 StringBuilder와 String..

728x90