본문 바로가기

Java

(26)
[Java] Pattern Matching for switch Java Pattern Matching (패턴 매칭) 이란? 이 기능은 Java16에서 preview로 도입되었고, Java17에서 정식 기능으로 포함되었다. 패턴 매칭을 통한 switch문의 개선은 코드의 가독성을 향상하는데 도움을 줄 수 있다.주요 특징 타입 패턴:switch 문에서 직접 타입 검사와 캐스팅을 할 수 있다.null 처리:switch 문에서 null 값을 직접 처리할 수 있다.가드 조건:case 문에 추가적인 조건을 붙일 수 있다.화살표 구문:->를 사용하여 간결한 switch 표현식을 작성할 수 있다.예시 코드public static String getStringValue(Object obj) { return switch (obj) { case Integer i ->..
[Java] Text Blocks(텍스트 블록)? Text Block (텍스트 블록) ?Java 15에서 정식으로 도입된 기능으로, 여러 줄의 문자열을 보다 쉽고 가독성 있게 작성할 수 있게 해준다.주요 특징 구문:텍스트 블록은 세 개의 큰따옴표(""")로 시작하고 끝난다.시작 큰따옴표 다음에는 반드시 새 줄이 와야 한다.들여쓰기 처리:컴파일러가 자동으로 불필요한 들여쓰기를 제거해준다.문자열의 실제 내용만 포함되도록 정리된다.이스케이프 문자 감소:기존 문자열에서 필요했던 많은 이스케이프 문자(\n, ", 등)를 사용하지 않아도 된다.포맷팅:문자열 포맷팅을 위해 String.format() 메서드와 함께 사용할 수 있다. 예시 코드String json = """ { "name": "John Doe", "..
[Java] Restful API 구현하기 RESTful API는 현대 웹 애플리케이션에서 서버와 클라이언트 간의 데이터 통신을 처리하는 핵심 요소 중 하나이다.이번 포스팅에서는 Java와 Spring Boot를 사용해 RESTful API를 구현하는 방법을 IntelliJ를 기준으로 단계별로 설명하려고 한다. 데이터베이스는 MySQL을 사용했다.1. RESTful API란?REST(Representational State Transfer)는 HTTP 프로토콜을 기반으로 리소스를 관리하고, 클라이언트와 서버 간의 상호작용을 단순화하기 위한 아키텍처 스타일이다. RESTful API는 이 REST 원칙을 따르는 API를 의미하며, 주로 다음과 같은 HTTP 메서드를 사용한다.GET: 리소스 조회POST: 리소스 생성PUT: 리소스 수정DELETE:..
[Java] 추상화란? Java에서 추상화(abstraction)는 객체 지향 프로그래밍의 핵심 개념 중 하나로, 복잡한 시스템을 더 간단하고 이해하기 쉽게 만드는 방법이다.추상화는 필요한 정보만을 노출하고, 불필요한 세부 사항은 숨기는 것을 의미한다.Java에서 추상화는 주로 추상 클래스와 인터페이스를 통해 구현된다.추상 클래스 (Abstract Class)추상 클래스는 abstract 키워드를 사용하여 선언하며, 하나 이상의 추상 메서드(구현되지 않은 메서드)를 포함할 수 있다. 추상 클래스는 직접 인스턴스를 생성할 수 없으며, 이를 상속한 하위 클래스가 추상 메서드를 구현해야 한다.abstract class Animal { // 추상 메서드 (구현 없음) abstract void makeSound(); /..
[Java] Math 클래스란? 업무를 할 때 반올림을 하기 위해 round() 메서드를 자주 활용하는데, Math 클래스는 무엇인지 제공되는 함수는 어떤 것들이 있는지 궁금해져서 정리해보기로 했다.  Math 클래스는 Java의 표준 라이브러리에 포함된 유틸리티 클래스이다. 수학 연산을 수행하기 위해서 다양한 메서드를 제공하고, 'Java.lang' 패키지에 속해 있기 때문에 별도의 import 없이 사용할 수 있다. Math 클래스의 주요 기능 및 메서드를 살펴보자.주요 기능 및 메서드기본 산술 연산abs(int a), abs(double a) 등: 절대값을 반환한다.max(int a, int b), min(int a, int b): 두 값 중 최대값 또는 최소값을 반환한다.지수와 로그pow(double a, double b): a..
[Java] HttpServletRequest를 통하여 Client IP 주소 가져오기 HttpServletRequest?HttpServletRequest는 자바 서블릿 API에서 HTTP 요청 정보를 표현하는 인터페이스다. 주로 클라이언트에서 서버로 전송되는 HTTP 요청을 처리할 때 사용된다.  HttpServletRequest를 이용하면 클라이언트가 전송한 데이터, 요청 메서드(GET, POST 등), 요청 URL, 헤더 정보 등을 쉽게 가져올 수 있다.클라이언트 IP 주소 가져오기HttpServletRequest를 사용해서 클라이언트의 IP주소를 가져오기 위해서는 getRemoteAddr() 메서드를 사용하면 된다. 로컬이나 개발서버의 테스트 단계에서는 getRemoteAddr()메서드 하나로 대부분 정확한 IP주소를 가져올 수 있다. 그러나, 실제 운영 단계에서는 프록시 서버, 로..