JAVA (17) - 컬렉션 프레임워크
1. 개요 자바의 컬렉션 프레임워크(Collection Framework)는 다수의 데이터를 효율적으로 저장, 관리, 조작할 수 있도록 표준화된 데이터 구조와 알고리즘을 제공하는 클래스와 인터페이스의 집합이다. 배열(Array)이 고정된 크기만을 지원하는 한계를 극복하기 위해 가변 크기의 데이터 구조를 제공하며, 표준화된 인터페이스를 통해 일관된 방...
1. 개요 자바의 컬렉션 프레임워크(Collection Framework)는 다수의 데이터를 효율적으로 저장, 관리, 조작할 수 있도록 표준화된 데이터 구조와 알고리즘을 제공하는 클래스와 인터페이스의 집합이다. 배열(Array)이 고정된 크기만을 지원하는 한계를 극복하기 위해 가변 크기의 데이터 구조를 제공하며, 표준화된 인터페이스를 통해 일관된 방...
1. 개요 자바에서 제네릭(Generic)은 클래스, 인터페이스, 메서드를 정의할 때 사용할 데이터 타입을 파라미터로 지정할 수 있게 해주는 기능이다. Java 5에 도입되었으며, 데이터 타입(Data Type)의 안정성을 높이고 형변환의 번거로움을 줄이기 위해 사용된다. 다양한 타입의 객체들을 다루는 컬렉션 프레임워크 등에서 필수적으로 활용된다. ...
1. 개요 프로그램 실행 중에는 구문 오류(Syntax Error) 외에도 예측하지 못한 상황으로 인해 오류가 발생할 수 있다. 자바에서는 이러한 비정상 종료를 막고 프로그램이 정상적인 흐름을 유지할 수 있도록 예외 처리(Exception Handling) 메커니즘을 제공한다. 2. 에러(Error)와 예외(Exception) 자바에서는 실행 시...
1. 개요 자바의 최상위 클래스인 Object는 모든 클래스가 기본적으로 상속받는 메서드들을 제공한다. 그중 equals()와 hashCode()는 객체의 동일성(Identity)과 동등성(Equality)을 비교할 때 핵심적인 역할을 담당한다. 두 메서드는 올바른 객체 비교 및 컬렉션 프레임워크(특히 해시 기반 컬렉션)의 정상 동작을 위해 규칙에 ...
1. 개요 자바에서 String은 가장 자주 사용되는 클래스 중 하나다. 다른 객체와 달리 String은 한번 생성되면 내부의 값을 변경할 수 없는 불변(Immutable) 객체로 설계되었다. 이러한 불변 특성은 자바의 메모리 관리 및 안정성 측면에서 매우 중요한 역할을 한다. 2. String의 리터럴 생성과 new 연산자 자바에서 문자열을 생...
1. 개요 내부 클래스(Inner Class)는 클래스 내부에 선언된 또 다른 클래스를 의미한다. 두 클래스가 서로 긴밀한 관계에 있을 때 내부 클래스로 선언하면, 외부 클래스의 멤버들에 쉽게 접근할 수 있고 코드의 캡슐화를 높일 수 있다. 내부 클래스는 선언되는 위치와 성격에 따라 인스턴스 내부 클래스, 정적(static) 내부 클래스, 지역(lo...
1. 개요 자바(Java)에서 static 키워드는 클래스 수준의 멤버(변수, 메서드)를 정의할 때 사용한다. 일반적으로 객체 지향 프로그래밍에서는 클래스를 바탕으로 new 연산자를 통해 인스턴스를 생성해야 멤버에 접근할 수 있다. 하지만 static 키워드가 붙은 멤버는 인스턴스를 생성하지 않고도 클래스 이름을 통해 바로 접근할 수 있다. 프로그램...
1. 개요 객체지향 프로그래밍(OOP)의 핵심 특징 중 하나는 캡슐화(Encapsulation)다. 캡슐화는 연관된 데이터와 메서드를 하나의 단위로 묶고, 외부로부터 데이터를 보호하는 기법을 의미한다. Java에서는 이러한 캡슐화를 구현하고 객체의 내부 데이터에 대한 접근 범위를 지정하기 위해 접근 제어자(Access Modifier)를 제공한다....
1. 개요 자바에서 추상 클래스(Abstract Class)와 인터페이스(Interface)는 모두 객체 지향 프로그래밍의 핵심 개념인 추상화(Abstraction)를 구현하기 위한 장치이다. 두 개념 모두 하위 클래스에서 반드시 구현해야 하는 메서드를 정의하여 코드의 규격을 강제하고 다형성을 확보하는 역할을 한다. 그러나 선언 방식과 설계 목적, ...
1. 개요 상속(Inheritance)과 다형성(Polymorphism)은 객체 지향의 핵심이라 불리는 대표적인 특성이다. 상속을 통해 기존 클래스의 자원을 재사용하고, 다형성을 통해 하나의 타입으로 여러 형태의 객체를 다룸으로써 유연하고 유지보수가 쉬운 프로그램을 작성할 수 있다. 2. 상속 (Inheritance) 상속은 기존의 클래스(부...