공부/CS 기초이론

[JAVA 기초] 클래스 메소드와 인스턴스 메소드

aerhergag0 2023. 3. 29. 20:02

클래스 메소드와 인스턴스 메소드의 차이점은

 

메소드가 호출될때 어떤 객체를 기반으로 동작하는가에 달려있다.

 

 

 

클래스 메소드 (static method)

 

클래스 메소드는 'static' 키워드로 정의되며, 해당 클래스의 인스턴스 없이도 직접 클래스 이름으로 호출 할 수 있다.

클래스 메소드는 클래스 레벨에서만 동작하며, 클래스변수(static 변수)나 다른 클래스 메소드에만 접근이 가능하다.

 

클래스 메소드는 '클래스명.메소드명()' 으로 호출할 수 있고 , 인스턴스 생성 없이도 호출이 가능하다.

 

public class MyClass {
    static int num = 0; // 클래스 변수

    public static void increment() {
        num++; // 클래스 변수 값을 증가시킴
    }
}

 

 

인스턴스 메소드 (instance method)

 

인스턴스 메소드는 클래스의 인스턴스를 기반으로 동작하는 메소드이다.

인스턴스 메소드는 객체를 생성한 후 호출해야 하기 때문에, 해당 클래스의 인스턴스를 생성 후에 호출 할 수 있다.