Class의 Method(today)

KKH_94·2023년 6월 8일
0

JAVA

목록 보기
20/36

자바 클래스의 static 메소드는 특정한 클래스의 인스턴스 생성 없이 직접 호출할 수 있는 메소드입니다.

static 메소드는 클래스 수준에 속하는 메소드로, 클래스와 관련된 작업을 수행하는 데 사용됩니다.

다음은 static 메소드의 특징과 사용법을 설명하는 예제 코드입니다.

public class MathUtils {
    public static int add(int a, int b) {
        return a + b;
    }

    public static int subtract(int a, int b) {
        return a - b;
    }
}

public class Main {
    public static void main(String[] args) {
        int sum = MathUtils.add(5, 3);
        System.out.println("Sum: " + sum);

        int difference = MathUtils.subtract(8, 4);
        System.out.println("Difference: " + difference);
    }
}

위의 예제에서 MathUtils 클래스는 static 메소드인 add와 subtract를 가지고 있습니다. add 메소드는 두 개의 정수를 받아서 합을 반환하고, subtract 메소드는 두 개의 정수를 받아서 차를 반환합니다.

Main 클래스에서는 MathUtils 클래스의 static 메소드를 호출하여 사용합니다. add 메소드를 호출하여 5와 3의 합을 계산하고, subtract 메소드를 호출하여 8과 4의 차를 계산합니다. 결과는 콘솔에 출력됩니다.

static 메소드는 다음과 같은 특징을 가지고 있습니다:

1 . 클래스 수준에 속하므로 클래스 이름으로 직접 호출할 수 있습니다. (MathUtils.add()와 같이 호출)

2 . static 메소드는 인스턴스 변수나 인스턴스 메소드에 직접 접근할 수 없습니다. 그 이유는 static 메소드는 인스턴스 생성 없이 호출되므로 인스턴스와 관련된 정보에 접근할 수 없기 때문입니다.

3 . static 메소드는 다른 static 메소드나 static 변수만 접근할 수 있습니다.

4 . static 메소드 내에서는 인스턴스 변수나 인스턴스 메소드를 사용할 수 없지만, 인스턴스를 생성하여 해당 인스턴스의 변수와 메소드를 사용할 수는 있습니다.

따라서, static 메소드는 클래스와 관련된 유틸리티 메소드를 구현하거나, 객체 인스턴스와 관계없이 공통적으로 사용되는 메소드를 구현하는 데 유용합니다.

자바에서는 다양한 내장 클래스와 라이브러리에서 유용한 static 메서드를 제공합니다.

1. Math 클래스

  • Math.abs(x): 주어진 값의 절댓값을 반환합니다.
  • Math.max(a, b): 두 값 중에서 큰 값을 반환합니다.
  • Math.min(a, b): 두 값 중에서 작은 값을 반환합니다.
  • Math.random(): 0 이상 1 미만의 무작위 실수 값을 반환합니다.
  • Math.round(x): 주어진 값을 반올림하여 가장 가까운 정수를 반환합니다.

2. Arrays 클래스

  • Arrays.toString(arr): 배열의 요소를 문자열로 반환합니다.
  • Arrays.copyOf(arr, length): 주어진 배열의 복사본을 생성하여 반환합니다.
  • Arrays.sort(arr): 배열을 정렬합니다.
  • Arrays.binarySearch(arr, key): 정렬된 배열에서 특정 값의 인덱스를 이진 검색으로 찾아 반환합니다.

3. Collections 클래스:

  • Collections.sort(list): 리스트를 정렬합니다.
  • Collections.binarySearch(list, key): 정렬된 리스트에서 특정 값의 인덱스를 이진 검색으로 찾아 반환합니다.
  • Collections.reverse(list): 리스트의 순서를 반대로 뒤집습니다.
  • Collections.shuffle(list): 리스트의 요소를 무작위로 섞습니다.

4. File 클래스:

  • File.exists(): 파일이 존재하는지 확인합니다.
  • File.isDirectory(): 파일이 디렉터리인지 확인합니다.
  • File.isFile(): 파일이 일반 파일인지 확인합니다.
  • File.delete(): 파일을 삭제합니다.

5. System 클래스:

  • System.out.println(message): 메시지를 표준 출력으로 출력합니다.
  • System.err.println(message): 메시지를 표준 에러 출력으로 출력합니다.
  • System.currentTimeMillis(): 현재 시간을 밀리초 단위로 반환합니다.
  • System.exit(status): 프로그램을 종료합니다.

6. Date 클래스:

  • Date.currentDate(): 객체를 생성하여 현재 날짜와 시간을 가져옵니다.
  • Date.specificDate(): 객체를 생성하여 2022년 6월 6일을 나타냅니다.
  • Date.getTime(): 메서드를 사용하여 currentDate의 타임스탬프 값을 가져옵니다.
  • Date.setYear(): 메서드를 사용하여 specificDate의 연도 값을 2023년으로 변경합니다.

이것은 몇 가지 대표적인 static 메서드의 예시일 뿐이며, 다른 클래스와 라이브러리에서도 다양한 유용한 static 메서드들이 제공됩니다.

profile
_serendipity

0개의 댓글