본문 바로가기

공부/CS 기초이론

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

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

 

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

 

 

 

클래스 메소드 (static method)

 

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

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

 

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

 

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

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

 

 

인스턴스 메소드 (instance method)

 

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

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