인스턴스 메소드 < -> 클래스 메소드
인스턴스 메소드와 클래스 메소드는 객체 지향 프로그래밍에서 사용되는 메소드의 두 가지 주요 유형입니다.
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)
이 블로그 기록은 개인 공부용 기록입니다.