JAVA 7

Garbage Collection

[ 목차 ] 1. GC란 무엇인가?Garbage Collection은 프로그래밍 언어에서 자동 메모리 관리를 담당하는 중요한 기술이다. Java에서는 개발자가 명시적으로 메모리를 해제하지 않아도 GC가 이를 자동으로 처리해주므로 메모리 누수를 방지하고 안정적인 프로그램 실행 환경을 제공한다. 이는 C/C++과 같은 언어에서 수동 메모리 관리를 해야 하는 복잡함을 해소하며, 프로그래머가 비즈니스 로직에 집중할 수 있도록 돕는다.GC는 사용되지 않는 객체를 식별하고 메모리에서 제거하여 새로운 객체 생성에 필요한 공간을 확보한다. Java의 GC는 JVM에서 실행되며, 다음과 같은 주요 목적을 갖는다:자동 메모리 관리 : 프로그래머가 명시적으로 메모리 할당과 해제를 하지 않아도 된다.메모리 누수 방지 : 참조..

JAVA 2025.01.17

자바 컬렉션 프레임워크

[ 목차 ]컬렉션 프레임워크란?컬렉션(Collection)이란?정의: 컬렉션은 객체의 그룹(데이터 그룹)을 나타낸다. 즉, 데이터를 모아 관리하는 컨테이너 역할을 한다.예: 학생 목록, 상품 카탈로그, 사용자 데이터 등.특징:데이터를 저장, 검색, 삭제, 수정하는 데 사용.다양한 데이터 구조를 지원하여 유연한 데이터 관리 가능.프레임워크(Framework)란?정의: 소프트웨어 개발을 위한 표준화된 구조와 도구의 집합.특징:코드 재사용성과 개발 생산성을 높임.일정한 설계 원칙과 가이드라인을 제공하여 유지보수가 쉬움. 컬렉션 프레임워크란?정의: 컬렉션을 효과적으로 관리하기 위한 데이터 구조와 알고리즘의 표준화된 집합.목적:데이터 그룹 관리(삽입, 삭제, 탐색 등)를 간단하고 일관된 방식으로 처리.다양한 데이..

JAVA 2024.12.10

Enum이란?

Enum이란?자바에서 enum은 열거형 타입으로, 특정 값들의 집합을 상수처럼 사용할 수 있게 해주는 자료형이다.enum은 서로 연관된 상수 집합을 보다 안전하고 직관적으로 다룰 수 있도록 설계된 특수한 형태의 클래스라고 볼 수 있다. enum의 기본 사용법EnumClass는 다른 클래스와 마찬가지로 별도의 java파일로, 클래스 안과 클래스 밖에 선언이 가능하다.위와 같이 정의된 Day 열거형을 사용하여 각 요일을 `Day.MONDAY`, `Day.TUESDAY`와 같이 명확하게 표현할 수 있다.  enum의 특징과 장점 타입 안전성: enum을 사용하면 잘못된 값을 방지할 수 있다. 예를 들어, Day 타입에는 MONDAY에서 SUNDAY까지의 값만 포함되므로, 다른 값을 할당할 수 없다.가독성: e..

JAVA 2024.11.01

오버로딩 vs 오버라이딩

JAVA에서 다형성은 객체지향 프로그래밍의 핵심 개념 중 하나이다.오버로딩과 오버라이딩은 직접 코드에 적용하여 다형성을 구현할 수 있는 하나의 형태이자 수단이다.간단히 말하면, 오버로딩은 메서드 중복 정의, 오버라이딩은 메서드 재정의를 뜻한다. 오버로딩 (Overloading)- 오버로딩은 동일한 이름의 메서드를 같은 클래스 내에서 여러 번 정의하는 것을 의미한다. - 단, 각 메서드는 매개변수의 타입이나 개수가 달라야 한다. - 이를 통해 메서드의 이름을 일관되게 유지하면서 다양한 입력에 대응할 수 있다.오버로딩의 특징같은 이름의 메서드를 여러 개 가질 수 있다. 매개변수의 타입, 개수, 순서 중 하나 이상이 달라야 한다.반환 타입은 오버로딩에 영향을 미치지 않는다. 즉, 반환 타입만 다르면 오버로딩이..

JAVA 2024.10.23

자바에서의 Error & Exception

[ 목차 ]- 프로그래밍 오류의 종류1. 컴파일 오류 (Compile-time error) - 컴파일 오류는 코드를 컴파일하는 과정에서 발생하는 오류이다. 컴파일러가 코드를 분석하면서 잘못된 구문을 발견하면 컴파일 오류가 발생하며, 컴파일 오류를 해결하지 않으면 프로그램이 실행되지 않는다. 2. 런타임 오류 (Runtime error) - 런타임 오류는 프로그램이 실행되는 동안 발생하는 오류로, 컴파일 과정에서는 발견되지 않다가 실행 중에 발생한다. 런타임 오류는 프로그램의 비정상적인 종료를 초래할 수 있으므로 적절한 예외처리가 필요하다.  - 자바에서의 오류(Error)와 예외(Exception)자바에서는 프로그램 중단을 초래할 수 있는 문제 상황을 Throwable 클래스를 통해 관리하며, 이 클래스..

JAVA 2024.10.21

JDK/JRE/JVM 개념

[ 목차 ]JDK, JRE, JVM의 개념과 역할JDK(Java Development Kit): Java 애플리케이션 개발 및 실행을 위한 소프트웨어 개발 키트. 개발 도구와 JRE를 포함.JRE(Java Runtime Environment): Java 애플리케이션을 실행하기 위한 환경. JVM과 표준 라이브러리를 포함.JVM(Java Virtual Machine): Java 바이트코드를 실행하는 가상 머신. 플랫폼 독립성을 실현하는 핵심 요소.JDK(Java Development Kit)JDK의 정의와 역할JDK는 Java 애플리케이션을 개발하고 실행할 수 있는 도구 모음이다. Java 프로그램을 작성, 컴파일, 디버깅 및 실행하는 데 필수적인 도구다. JDK의 버전 표기JDK는 버전 번호로 구분된다...

JAVA 2024.10.14

추상 클래스 vs 인터페이스

추상 클래스란?- 추상 메서드(abstract method)는 '메서드의 본체가 완성되지 않은 미완성 메서드'를 말한다.메서드의 기능을 정의하는 중괄호 안이 비어 있다는 것이 아니라 중괄호 자체가 없으며, 중괄호가 없기 때문에 명령어의 끝을 알리는 세미콜론(;)으로 끝나야 한다.- 추상 메서드를 1개 이상 포함하고 있는 클래스를 추상 클래스라 한다. 추상 클래스의 특징abstract 키워드를 붙여 표현한다. (추상 메서드를 포함하지 않아도 가능)인스턴스, 즉 객체를 직접 만들 수 없다. (new키워드로 객체 생성 불가)추상 클래스를 상속받는 하위 클래스에서 메서드의 구현을 강제한다. (Overriding) 인터페이스(Interface)란?- 인터페이스는 interface 키워드를 사용해 정의하며, 오직 ..

JAVA 2024.10.14