Java에서 인스턴스 메소드는 객체를 생성한 후에 사용할 수 있는 메소드입니다. 객체 지향 프로그래밍의 핵심 개념 중 하나인 인스턴스 메소드는 각 객체의 상태를 조작하고 동작을 정의하는 데 중요한 역할을 합니다. 이번 글에서는 인스턴스 메소드의 개념과 이를 활용하는 방법을 예제를 통해 설명하겠습니다.
인스턴스 메소드는 클래스의 객체를 생성한 후에 해당 객체를 통해 호출할 수 있는 메소드입니다. 이러한 메소드는 객체의 필드를 조작하거나 특정 동작을 수행하는 데 사용됩니다. 인스턴스 메소드는 객체마다 독립적으로 존재하며, 각 객체는 자신의 상태를 유지합니다.
package instance_static;
// 인스턴스 메소드 : 객체 생성 후에 사용해야함 (메모리에 할당되어야 함)
class B {
int x, y;
// 인스턴스 메소드
public void setData(int xx, int yy) {
x = xx;
y = yy;
System.out.println("x: " + xx + ", y: " + yy);
}
} // B class end
public class InstanceMethod {
public static void main(String[] args) {
// 객체 생성
B b = new B();
// 인스턴스 메소드 호출
b.setData(22, 55);
}
}
x: 22, y: 55
static 메소드는 클래스에 속한 메소드로, 객체를 생성하지 않고 클래스 이름으로 직접 호출할 수 있는 메소드입니다. 이는 특정 객체의 상태와는 무관하게 동작하며, 공통적인 작업이나 유틸리티 기능을 수행하는 데 사용됩니다.
package instance_static;
// static method : 객체 생성 없이 바로 사용 가능
// object.methodName();
// ClassName.methodName();
class A {
int x, y;
// static method
public static void setData(int xx, int yy) {
System.out.println(xx + ", " + yy);
}
} // A class end
public class StaticMethod {
public static void main(String[] args) {
// static 메소드 호출
A.setData(3, 5); // 클래스이름.메소드명()
A a = new A(); // 객체 생성 메모리 할당, 생성자 함수 자동 호출
a.setData(10, 20);
a.x = 100;
System.out.println(a.x);
}
}
3, 5
10, 20
100