이전 게시글의 내용이 너무 간략하여 조금 더 이해하기 쉽게 구체적으로 정리할 필요성을 느꼈습니다...다형성이란?하나의 타입으로 여러 구현체를 동일한 방식으로 다룰 수 있는 성질!PaymentProcessor processor = new PaypalProcessor(); processor.processPayment(1000);PaymentProcessor가 어떤 구현체인지 몰라도 .processPayment()를 호출할 수 있음동일한 인터페이스로 다양한 객체의 동작을 유연하게 처리할 수 있게 해주는 것이 다형성!상속, 인터페이스 중 인터페이스가 실무에서 자주 쓰이기 때문에 아래부터는 인터페이스 기준으로 설명하겠습니다.구현보다 인터페이스가 먼저다인터페이스는 '무엇을' 할 지만 정의하고, 구현체는 '어떻게' ..
static이란?클래스 수준에서 존재하는 멤버 (변수 또는 메서드)객체 없이 사용 가능모든 객체가 공유함특징공유됨static 변수/메서드는 모든 인스턴스가 공유클래스명으로 접근 가능객체 없이 클래스명.멤버 형태로 접근인스턴스 멤버 접근 불가static 메서드 안에서는 일반 멤버(인스턴스 변수/메서드)를 직접 사용할 수 없음메모리 위치클래스 로딩 시 Method Area에 딱 한 번만 할당됨예제공유 static 변수 예제class Counter { static int count = 0; Counter() { count++; }}new Counter();new Counter();System.out.println(Counter.count); // 출력: 2static 메서드 호출 ..
Map 인터페이스란?Map 인터페이스는 키-값 쌍으로 데이터를 저장하는 컬렉션을 정의합니다. Map은 중복된 키를 허용하지 않으며, 각 키는 고유한 값을 가집니다. 값(value)은 중복이 가능하지만, 키(key)는 중복될 수 없습니다. 이를 통해 데이터를 효율적으로 조회하고 관리할 수 있습니다.Map의 주요 특징키-값 쌍 저장Map은 각각의 키에 하나의 값을 연결하여 저장합니다. 하나의 키는 하나의 값만을 매핑합니다.예를 들어, 사용자의 ID와 이름을 매핑하는 데이터 구조를 생각할 수 있습니다.중복된 키 허용하지 않음하나의 키에 대해서는 하나의 값만 저장될 수 있습니다. 동일한 키에 값을 삽입하려고 하면, 기존 값이 덮어씌워집니다.값에 대한 빠른 조회키를 통해 빠르게 값을 조회할 수 있어, 특정 데이터..
Java의 Set 인터페이스는 중복을 허용하지 않는 데이터 집합을 나타냅니다. 이 컬렉션은 데이터를 순서 없이 저장하며, 같은 값을 여러 번 추가할 수 없습니다. Set은 주로 중복 제거가 필요하거나 특정 값이 존재하는지 확인하는 경우에 유용하게 사용됩니다.Set의 주요 특징:중복 불허같은 값은 한 번만 저장됩니다. 중복된 데이터를 자동으로 걸러냅니다.순서 없음요소들은 삽입 순서와 관계없이 저장됩니다. 따라서, 정렬된 순서나 삽입 순서를 유지하려면 다른 방법을 사용해야 합니다.효율적인 검색해시 기반 구현체는 빠른 삽입, 삭제, 검색을 제공합니다.Set 인터페이스 주요 구현체Java에서 Set 인터페이스를 구현한 주요 클래스는 HashSet, LinkedHashSet, TreeSet입니다. 실무에서는 Ha..
Java 컬렉션 프레임워크에서 List 인터페이스는 가장 자주 사용되는 데이터 구조 중 하나입니다. 데이터를 순서대로 저장하며, 중복을 허용한다는 점에서 매우 유용합니다. 이번 글에서는 List의 기본 개념과 주요 구현체, 그리고 효율적으로 사용하는 방법에 대해 심도 있게 알아보겠습니다.List 인터페이스란?List는 순서를 가진 데이터의 집합을 표현하는 컬렉션입니다. 배열처럼 인덱스를 기반으로 요소를 관리할 수 있으며, 데이터의 삽입, 삭제, 검색 등을 위한 다양한 메서드를 제공합니다.List의 주요 특징순서 보장데이터가 추가된 순서를 유지하며, 인덱스를 통해 요소를 정확히 관리할 수 있습니다.중복 허용동일한 값을 여러 번 추가할 수 있습니다.랜덤 액세스 가능인덱스를 사용해 원하는 위치의 데이터를 빠르..
소프트웨어 개발에서는 데이터를 저장하고 관리하는 방식이 매우 중요합니다. Java는 이를 효율적으로 처리하기 위해 컬렉션 프레임워크(Collection Framework)를 제공합니다. 컬렉션 프레임워크는 데이터 구조와 알고리즘을 표준화된 방식으로 사용할 수 있도록 설계된 라이브러리입니다.컬렉션 프레임워크란?컬렉션 프레임워크는 데이터를 수집하고 조작하는 클래스 및 인터페이스의 집합입니다. 배열과 달리 크기 변경, 중복 데이터 처리, 정렬 등의 기능을 제공합니다.컬렉션 프레임워크의 특징표준화: 데이터 구조와 알고리즘에 대해 일관된 인터페이스 제공.재사용성: 기본적인 자료구조를 제공하여 직접 구현하지 않아도 됨.유연성: 다양한 데이터 구조와 알고리즘을 쉽게 변경 및 확장 가능.타입 안정성: 제네릭(Gener..
객체지향 프로그래밍(OOP, Object-Oriented Programming)은 소프트웨어 개발에서 실세계의 객체를 모델링하여 프로그램을 설계하고 구현하는 방법론입니다. 자바(Java)는 이러한 객체지향 프로그래밍을 지원하는 대표적인 언어로, 코드의 재사용성과 유지보수성을 높이는 데 적합한 구조를 제공합니다.객체지향 프로그래밍의 개념객체지향 프로그래밍은 프로그램을 데이터(객체)와 그 데이터를 처리하는 방법(메서드)으로 구성합니다. 이를 통해 문제를 더 직관적이고 체계적으로 해결할 수 있습니다.주요 개념클래스와 객체클래스(Class): 객체를 정의하는 설계도 또는 템플릿. 객체의 속성과 동작을 정의합니다.객체(Object): 클래스의 인스턴스. 실제 데이터를 가지고 있으며 동작을 수행합니다.public ..