[Java] HashSet
개요 HashSet은 자바의 컬렉션 프레임워크 중 하나로, 중복되지 않는 요소들을 저장하는 데 사용됩니다. 내부적으로 해시 테이블(Hash Table)을 사용하여 요소들을 저장하며, 그로 인해 매우 빠른 검색, 삽입, 삭제 성능을 제공합니다. 주요 특징 중복 허용 안함 HashSet은 중복된 요소를 저장하지 않습니다...
개요 HashSet은 자바의 컬렉션 프레임워크 중 하나로, 중복되지 않는 요소들을 저장하는 데 사용됩니다. 내부적으로 해시 테이블(Hash Table)을 사용하여 요소들을 저장하며, 그로 인해 매우 빠른 검색, 삽입, 삭제 성능을 제공합니다. 주요 특징 중복 허용 안함 HashSet은 중복된 요소를 저장하지 않습니다...
Java 라이브러리는 여러 프로젝트에서 공통으로 사용될 수 있는 유용한 함수를 모아놓은 코드의 집합입니다. 이번 포스트에서는 Java 라이브러리를 만드는 다양한 방법을 단계별로 알아보겠습니다. 여기서는 Gradle, Maven, Ant, 그리고 순수 자바 프로젝트를 사용하여 라이브러리를 만드는 방법을 다룹니다. Gradle 활용 Gradle은 프...
Java 프로그래밍에서 객체를 정렬하는 기능은 매우 중요하며, 이를 통해 데이터의 효율적인 검색, 정렬, 저장이 가능해집니다. Java는 이러한 객체 정렬을 위해 Comparator와 Comparable이라는 두 가지 인터페이스를 제공합니다. 이 글에서는 이 두 인터페이스의 정의, 용도, 구현 방법, 그리고 차이점을 살펴보겠습니다. Comparato...
이번 글에서는 데이터 접근 로직과 비즈니스 로직을 분리하는 대표적인 디자인 패턴인 Dao패턴과 Repository패턴에 대해 간단히 알아보겠습니다. Repository 패턴 레퍼지토리 패턴은 객체 지향 설계의 원칙을 따르며, 데이터 접근 로직과 비즈니스 로직을 분리하는 데 중점을 둡니다. 이는 주로 도메인 주도 설계(DDD)에서 사용되며, 도메인...
소개 Java Persistence API(JPA)는 자바 플랫폼(자바 EE)의 ORM (Object-Relational Mapping) 기술 표준으로, 객체 지향 프로그래밍 언어인 자바에서 관계형 데이터베이스와 상호 작용하기 위한 방법을 제공하며, 개발자가 데이터베이스 연산을 객체 모델로 매핑하여, SQL을 직접 작성하지 않고도 데이터베이스 연산...
개념 ORM은 Object-Relational Mapping의 약자로, 객체 지향 프로그래밍 언어를 사용하여 관계형 데이터베이스를 조작할 수 있게하는 기술입니다. ORM을 사용하면 데이터베이스의 테이블을 프로그래밍 언어의 객체로 매핑하여, SQL 쿼리를 직접 작성하지 않고도 데이터베이스 작업을 수행할 수 있습니다. 이는 코드의 가독성을 높이고 유지...
Iterator, ListIterator, Enumeration은 모두 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스입니다. Enumeration은 Iterator의 구버전이며, ListIterator는 Iterator의 기능을 향상 시킨 것입니다. Iterator 컬렉션 프레임워크에서는 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화하였...
스위프트에서 문자열과 문자 처리는 매우 강력하고 유연하게 설계되어 있습니다. 문자(Character)와 문자열(String)를 다루는 기본적인 방법을 살펴보겠습니다. 문자 문자 초기화 문자 초기화 let letter: Character = "A" let digit: Character = "5" let specia...
개념 SOLID는 로버트 C. 마틴(Robert C. Martin), 흔히 “아저씨”로 알려진 소프트웨어 엔지니어에 의해 그의 책 “Agile Software Development, Principles, Patterns, and Practices”에서 처음으로 제시되었으며, 객체 지향 프로그래밍과 설계에서 중요하게 자리잡은 ‘좋은 객체 지향 설계의...
Arrays란 Arrays는 배열과 관련된 다양한 유틸리티 메소드를 제공하는 유틸리티 클래스입니다. 이 클래스는 ‘java.util’ 패키지에 속해 있으며, 배열의 조작을 더 쉽게 해주는 여러 가지 정적(static) 메서드를 포함하고 있습니다. 같은 기능의 메서드가 배열의 타입만 다르게 오버로딩되어 있어 많게 느껴지지만 실제로는 그렇게 많지 않습...