Back end/Java 객체지향

인스턴스 메소드 < -> 클래스 메소드

jinpark1992 2023. 11. 21. 13:35

 

인스턴스 메소드와 클래스 메소드는 객체 지향 프로그래밍에서 사용되는 메소드의 두 가지 주요 유형입니다.

1. 인스턴스 메소드 (Instance Method):

- 정의: 인스턴스 메소드는 특정 객체(instance)에 묶여 있는 메소드로, 해당 클래스의 인스턴스(객체)를 생성한 후에 호출할 수 있습니다.

- 호출: 객체를 생성하고 나서 해당 객체를 통해 호출됩니다. 예를 들어, `obj.method()` 형태로 호출됩니다.

- 접근: 인스턴스 메소드는 객체의 상태에 접근할 수 있습니다. 따라서 메소드 내에서 객체의 인스턴스 변수에 접근할 수 있고, 그 값을 변경할 수 있습니다.

- 예시:

  public class MyClass {
      private int x;

      // 인스턴스 메소드
      public void setX(int value) {
          this.x = value;
      }
  }


- 사용 예제

  MyClass obj = new MyClass();
  obj.setX(10);
  



2. 클래스 메소드 (Class Method 또는 Static Method):

- 정의:클래스 메소드는 특정 인스턴스에 묶이지 않고 클래스 자체에 속한 메소드로, 객체의 생성 없이 클래스 이름을 통해 직접 호출할 수 있습니다.

- 호출: 클래스의 이름을 통해 호출됩니다. 예를 들어, `ClassName.method()` 형태로 호출됩니다.

- 접근: 클래스 메소드는 객체의 인스턴스 변수에 직접 접근할 수 없습니다. 주로 클래스 수준의 작업을 수행하거나 매개변수를 통해 작업을 수행합니다.

- 예시:

  public class MyClass {
      private static int count;

      // 클래스 메소드
      public static void incrementCount() {
          count++;
      }
  }


  - 사용 예제

  MyClass.incrementCount();

 

요약:
- 인스턴스 메소드는 객체의 인스턴스에 묶여 있고, 해당 객체를 통해 호출됩니다.
- 클래스 메소드는 특정 객체와 무관하게 클래스 자체에 속해 있고, 클래스의 이름을 통해 호출됩니다.
- 인스턴스 메소드는 객체의 상태에 접근하고 변경할 수 있지만, 클래스 메소드는 직접적으로 객체의 인스턴스 변수에 접근할 수 없습니다. 클래스 수준의 작업에 주로 사용됩니다.

 

https://cloudstudying.kr/codes/97749#code-output

 

CloudStudying

 

cloudstudying.kr

출저: 홍팍 (https://www.youtube.com/@hongpark)

이 블로그 기록은 개인 공부용 기록입니다.