본문 바로가기
728x90
반응형

자바31

Wrapper 클래스와 Boxing & Unboxing 목차//자바 Wrapper 클래스와 Boxing & Unboxing 란 무엇인가??자바(Java)는 기본 자료형(Primitive Type)과 객체(Object)를 구분하여 다룹니다.그러나 때로는 기본 자료형을 객체처럼 다뤄야 할 경우가 발생하는데, 이를 위해 제공되는 것이 **Wrapper 클래스(Wrapper Class)**입니다.이번 글에서는 Wrapper 클래스의 개념과 특징, 그리고 Boxing과 Unboxing의 개념 및 사용법을 예제와 함께 살펴보겠습니다.1. Wrapper 클래스란?1.1 개념Wrapper 클래스란, 기본 자료형(Primitive Type)을 객체(Object)로 감싸는 클래스입니다.자바의 객체지향적인 특성을 활용해야 하는 경우, 기본 자료형을 객체 형태로 변환하는 것이 필.. 2025. 3. 27.
오버라이딩(Overriding)과 오버로딩(Overloading) 목차오버라이딩(Overriding)과 오버로딩(Overloading) 자바(Java)를 포함한 객체지향 프로그래밍(OOP)에서 오버라이딩(Overriding)과 오버로딩(Overloading)은 중요한 개념이야. 두 개념 모두 메서드를 재정의하는 방법이지만, 목적과 사용 방식이 다르므로 혼동하지 않도록 정확하게 이해해야 해야 합니다.1. 오버라이딩(Overriding)과 오버로딩(Overloading)의 개념 및 특징1.1 오버라이딩(Overriding)이란?오버라이딩(Overriding)은 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것을 의미해. 즉, 상속 관계에서 기존 메서드의 동작을 변경할 때 사용해. ✅ 주요 특징상속 관계에서만 발생 (즉, 부모-자식 클래스 간에 적용됨)메서드 이름, 매개.. 2025. 3. 26.
WAS (Web Application Server) 와 Web Server 란 무엇인가? 목차WAS (Web Application Server) 와 Web Server 웹 개발을 하다 보면 WAS와 Web Server라는 용어를 자주 접하게 됩니다. 얼핏 비슷해 보이는 두 용어는 엄연히 다른 역할을 수행하며, 웹 서비스의 구조를 이해하는 데 매우 중요한 개념입니다. 이 글에서는 WAS와 Web Server에 대한 모든 것을 상세하게 파헤쳐 보겠습니다. 1. 용어 및 주요 개념, 특징, 종류1.1 Web Server정의: Web Server는 클라이언트(웹 브라우저)로부터 HTTP 요청을 받아 정적인 컨텐츠(HTML, CSS, JavaScript, 이미지 등)를 제공하는 서버입니다.주요 기능:HTTP 요청 처리: 클라이언트의 요청을 받아들이고, 요청에 맞는 정적 파일을 응답합니다.정적 컨텐츠 .. 2025. 3. 26.
JAVA Call by Value vs Call by Reference 무엇인가? 목차JAVA Call by Value vs. Call by Reference JAVA 프로그래밍을 하다 보면 "Call by Value"와 "Call by Reference"라는 용어를 접하게 됩니다. 이 두 가지 개념은 함수 호출 시 인자가 어떻게 전달되는지를 설명하는 중요한 내용입니다. 이 글에서는 JAVA에서의 Call by Value와 관련된 모든 것을 자세하게 설명하고, 혼동을 피하기 위한 주의사항까지 꼼꼼하게 다루겠습니다. 1. 용어 설명Call by Value (값에 의한 호출):함수를 호출할 때, 인자로 전달되는 변수의 값이 복사되어 함수 내부로 전달됩니다.함수 내부에서는 복사된 값을 사용하므로, 함수 외부의 원래 변수에는 영향을 주지 않습니다.Call by Reference (참조에 의한.. 2025. 3. 25.
Checked Exception 와 Unchecked Exception 목차Checked Exception 와 Unchecked ExceptionJava 개발자라면 반드시 이해해야 할 핵심 개념 중 하나가 바로 Checked Exception과 Unchecked Exception입니다. 이 두 종류의 예외는 프로그램의 안정성과 유지보수성에 큰 영향을 미치며, 적절한 예외 처리 전략을 수립하는 데 필수적인 요소입니다. 이 글에서는 Checked Exception과 Unchecked Exception의 차이점을 명확히 이해하고, 효과적인 예외 처리 방법을 익힐 수 있도록 상세한 내용을 제공합니다.1. 용어에 대한 상세 설명Exception (예외): 프로그램 실행 중에 발생하는 비정상적인 상황을 의미합니다. 예외는 프로그램의 정상적인 흐름을 방해하며, 적절히 처리되지 않으면 프.. 2025. 3. 23.
Transaction 란? 목차Transaction 가이드데이터베이스 기반 애플리케이션 개발에서 트랜잭션(Transaction)은 데이터의 일관성과 신뢰성을 유지하는 데 핵심적인 역할을 합니다. 이 글에서는 Java 환경에서 트랜잭션을 완벽하게 이해하고 활용할 수 있도록 트랜잭션의 기본 개념부터 고급 기능, 주의사항까지 상세하게 다룹니다.1. 트랜잭션이란 무엇인가?트랜잭션은 데이터베이스의 상태를 변화시키기 위해 수행되는 작업의 논리적인 단위입니다. 이는 하나 이상의 데이터베이스 연산(SQL 쿼리 등)으로 구성될 수 있으며, 트랜잭션 내의 모든 연산은 전부 성공하거나 전부 실패해야 합니다. 이를 통해 데이터베이스의 무결성을 보장하고, 예기치 않은 오류나 시스템 장애 발생 시에도 데이터의 일관성을 유지할 수 있습니다. 예시: 은행 계.. 2025. 3. 22.
JAVA thread safe 란? 목차Java 스레드 안전성 멀티 스레드 프로그래밍은 마치 여러 명의 요리사가 하나의 주방에서 동시에 요리하는 것과 같습니다. 각 요리사는 자신만의 요리를 만들지만, 칼, 도마, 오븐과 같은 주방 도구와 재료를 공유해야 합니다. 만약 요리사들이 서로 협력하지 않고 무작위로 도구를 사용하거나 재료를 가져간다면, 주방은 금세 엉망진창이 될 것입니다. Java 스레드 안전성도 마찬가지입니다. 여러 스레드가 공유 자원에 동시에 접근할 때, 데이터가 손상되거나 예상치 못한 오류가 발생하지 않도록 코드를 작성하는 것이 핵심입니다.여기서는 스레드 안전성의 기본 원리를 이해하고, 실제로 멀티 스레드 환경에서 안전하게 동작하는 Java 코드를 작성할 수 있도록 돕기 위해 작성되었습니다. 복잡한 내용을 가능한 한 쉽게 설명.. 2025. 3. 21.
Spring Framework AOP 란? 목차Spring Framework AOP (Aspect-Oriented Programming) 상세 가이드1. AOP (Aspect-Oriented Programming) 개요AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 소프트웨어 개발에서 핵심 로직(Core Logic)과 공통 기능(Cross-Cutting Concerns)을 분리하여 코드의 모듈성을 향상시키는 프로그래밍 패러다임이다. 이를 통해 코드 중복을 줄이고 유지보수를 쉽게 만들 수 있다.2. AOP 주요 개념AOP를 이해하기 위해 몇 가지 핵심 개념을 살펴보자.Aspect (관점): 공통적인 기능을 모듈화한 객체로, 여러 클래스에서 공통으로 사용되는 기능(예: 로깅, 트랜잭션 관리 등)을 정의한다.Join.. 2025. 3. 20.
Spring 서버에서 HTTP 요청 처리 과정 목차Spring 서버에서 HTTP 요청 처리 과정DispatcherServlet부터 데이터베이스 연동까지 Spring Framework 기반의 서버가 www.naver.com과 같은 HTTP 요청을 처리하는 방식에 대해 설명할게요. Spring은 Java에서 가장 널리 사용되는 웹 애플리케이션 프레임워크로, 클라이언트로부터 요청을 받고 응답을 반환하는 과정에서 중요한 역할을 합니다. 이 과정을 Spring 구조를 기준으로 좀 더 세부적으로 다뤄보겠습니다.1. 클라이언트 요청 수신 (DispatcherServlet)Spring 웹 애플리케이션은 기본적으로 DispatcherServlet을 통해 모든 HTTP 요청을 중앙 집중식으로 처리합니다. 클라이언트(브라우저)가 www.naver.com을 요청하면, 해.. 2025. 3. 19.
Java Generic(제네릭) 란? 목차Java Generic(제네릭) 란?1. Generic(제네릭)이란?Java에서 **제네릭(Generic)**은 클래스나 메서드에서 사용할 데이터 타입을 미리 지정하지 않고, 나중에 필요할 때 지정할 수 있도록 하는 기능이다. 즉, 컴파일 시점에서 타입을 지정하여 코드의 재사용성을 높이고, 타입 안정성을 보장할 수 있다.제네릭을 사용하면 컴파일 시 타입 체크가 가능하여 실행 시 발생할 수 있는 ClassCastException과 같은 오류를 방지할 수 있다.2. Generic의 장점타입 안정성(Type Safety): 컴파일 시점에서 타입을 체크하여 잘못된 타입 사용을 방지할 수 있다.코드 재사용성 증가: 하나의 클래스 또는 메서드를 다양한 타입으로 활용할 수 있다.형 변환(Casting) 필요 없음.. 2025. 3. 18.
728x90
반응형