728x90
728x90
객체 생성 3가지 방법론자바에서 객체를 생성하는 3가지 기본적인 방법에 대해 순서대로 알아보자.생성자 (Constructor)빌더 패턴정적 팩토리 메서드 생성자(Constructor)를 통한 객체 생성생성자는 객체의 필드를 초기화하는 기본적인 방법이다.생성자의 형태에 따라 필드 값이 설정되는 시점이 달라지며 객체의 완전성과 불변성을 보장할 수 있다. 기본 생성자 + 수정자(Setter)를 통한 객체 생성기본 생성자는 필드를 초기화하지 않고 빈 객체를 생성한 뒤 필요한 필드 값을 수정자를 통해 주입하는 방식이다.이 방식의 장점은 빈 객체를 먼저 생성할 수 있어 나중에 원하는 필드를 선택적으로 설정할 수 있다는 것이다.하지만 불필요하게 필드를 수정할 가능성이 있기 때문에 객체의 불변성(Immutability..
HTTP 상태코드란?HTTP 상태코드는 클라이언트가 서버에 요청을 보낼 때 서버가 응답으로 반환하는 코드이다다. 이 상태코드는 서버와 클라이언트 사이의 상호작용 상태를 나타내며 5개의 범주로 구분된다. 1XX: Informational(정보 제공)임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 계속 진행하라는 의미이다. HTTP 1.1 버전부터 추가되었다.2XX: Success(성공)클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미이다.3XX: Redirection(리다이렉션)완전한 처리를 위해서 추가 동작이 필요한 경우이다. 주로 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도하라는 의미이다.4XX: Client Error(클라이언트 에러)없는 페이지를 요청..
캡슐화(Encapsulation)란?캡슐화는 객체지향 프로그래밍(OOP)의 중요한 개념 중 하나로 데이터를 외부에서 접근할 수 없도록 숨기고 필요한 경우에만 공개된 메서드를 통해 접근하도록 하는 원칙이다.이를 통해 데이터의 무결성을 보호하고 객체 내부의 상태를 직접 변경하지 못하게 한다. 접근 제어자와 캡슐화자바에서는 접근 제어자(Access Modifiers)를 통해 필드와 메서드의 접근 범위를 제어할 수 있다. 접근 제어자는 데이터와 메서드가 외부에 어느 정도 노출될지를 결정하며 대표적인 접근 제어자는 다음과 같다.public: 어디서든 접근 가능private: 같은 클래스 내에서만 접근 가능protected: 같은 패키지 및 상속 관계에서 접근 가능default(패키지 접근): 같은 패키지 내에서..
JVM이란 무엇인가?JVM(Java Virtual Machine)은 자바 프로그램을 실행하기 위한 가상 머신이다. 자바는 플랫폼 독립적인 언어인데, 이는 자바 코드가 특정 운영체제나 하드웨어에 종속되지 않기 때문이다. 자바 코드가 한 번 컴파일되면 .class 파일이 생성되고, 이 파일을 다양한 환경에서 실행할 수 있도록 해주는 것이 바로 JVM이다. JVM의 구조클래스 로더(Class Loader)클래스 로더는 자바 클래스 파일을 메모리에 적재하고, 런타임에 필요한 클래스들을 동적으로 로딩한다. 이 과정은 크게 세 단계로 나누어 진다.로딩(Loading): 바이트코드를 메모리에 적재링크(Linking): 레퍼런스 해결 및 검증초기화(Initialization): 정적 초기화 블록 실행메모리 영역 (Ru..
Java의 예외 처리예외는 프로그램 실행 중에 발생하는 비정상적인 상황을 말한다. 예를 들어, 배열의 범위를 벗어난 인덱스에 접근하거나 파일이 존재하지 않는 경우에 파일을 열려고 시도하면 예외가 발생할 수 있다. 자바에서는 이러한 예외를 처리하지 않으면 프로그램이 비정상 종료되기 때문에예외 처리 기법이 매우 중요하다. 자바에서 예외 처리는 보통 Try → Throw → Catch의 흐름으로 진행된다. 프로그램 코드에서 예외가 발생할 가능성이 있는 부분을 try 블록에 넣고 실제로 예외가 발생하면 throw 키워드를 통해 예외를 던진다. 던져진 예외는 catch 블록에서 처리하게 된다.아래와 구조로 예외 처리가 이루어지며 여기서 중요한 것은 try 블록에서 문제가 생기면 프로그램이 바로 종료되지 않고 ca..
useNavigate란 무엇인가?React의 useNavigate는 react-router-dom에서 제공하는 훅으로 페이지 간의 탐색을 쉽게 구현할 수 있게 도와준다다. 사용자가 특정 이벤트(예: 버튼 클릭)를 트리거하면 해당 이벤트가 발생한 후 다른 경로로 이동해야 할 때 useNavigate를 사용할 수 있다. 예를 들어 로그인 성공 후 대시보드로 이동하거나 특정 데이터를 서버에 전송한 후 결과 페이지로 리다이렉트할 때 유용하다.왜 useNavigate를 사용할까?기존의 HTML 방식에서는 페이지 전환 시 전체 페이지가 리로드되지만 React는 싱글 페이지 애플리케이션(SPA) 특성상 페이지 리로드 없이 화면이 부드럽게 전환된다. useNavigate는 이러한 SPA에서 라우팅을 프로그래밍적으로 처..