Java에서 멱등원

Sheeraz Gul 2023년10월12일
  1. Java에서 멱등원
  2. Java의 멱등 메서드
Java에서 멱등원

멱등자는 연산을 여러 번 적용할 수 있지만 결과는 항상 동일함을 의미합니다. 예를 들어, 멱등성 메서드를 얼마나 자주 호출하는지는 중요하지 않습니다. 결과는 항상 동일할 것입니다.

이 튜토리얼은 Java에서 멱등원을 사용하는 방법을 보여줍니다.

Java에서 멱등원

위에서 언급했듯이 Idempotent 메서드는 매번 동일한 결과를 반환합니다. 예: x=1; 매번 1을 반환하기 때문에 멱등원이지만 x++; 호출할 때마다 결과가 변경되기 때문에 멱등할 수 없습니다.

예를 들어, 한 개체를 한 번 닫으면 개체가 닫힌 후 멱등성이 있는지 알 수 있는 정보가 충분하지 않습니다.

이를 확인하려면 객체를 두 번째로 닫아야 하며 예외가 발생하면 객체가 멱등성이 아니라는 의미이고 닫을 때 동일한 결과를 반환하면 객체가 멱등성이 있음을 의미합니다.

Java에서 멱등성 closeable을 구현해 보겠습니다.

package delftstack;

import java.io.Closeable;

public class Idempotent implements Closeable {
  private static boolean closed;

  public Idempotent() {
    closed = false;
  }
  public void close() {
    if (!Is_Closed()) {
      closed = true;
    }
  }

  public static boolean Is_Closed() {
    return closed;
  }
  public static void main(String args[]) {
    System.out.println(Is_Closed());
    System.out.println(Is_Closed());
  }
}

Closeablejava.io의 클래스입니다. Boolean을 초기화하고 Idempotent 메소드에서 ‘false’로 설정하여 idempotent closeable을 구현했습니다. 항상 ‘거짓’을 반환합니다.

출력:

false
false

Java의 멱등 메서드

멱등원 메서드 용어는 HTTP 메서드에 해당합니다. HTTP 메서드는 요청을 여러 번 호출하더라도 메서드에 대한 결과가 항상 같을 때 멱등원입니다.

예제를 통해 Idempotent HTTP 메소드를 이해하려고 노력합시다.

GET 요청: GET 요청을 몇 번을 해도 요청이 제대로 구현되면 항상 동일한 응답을 받게 됩니다.

예를 들어, 시스템에서 결과를 보기 위해 GET 요청을 합니다. 우리가 몇 번을 요청하든 항상 동일할 것입니다.

HTTP 메서드는 두 가지 유형으로 나뉩니다. 하나는 멱등성이고 다른 하나는 비멱등성입니다. 아래 표는 어떤 HTTP 메소드가 멱등성인지 아닌지를 보여줍니다.

방법 멱등수?
GET
PUT
POST 아니요
DELETE
HEAD
OPTIONS
PATCH 아니요
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook