✏️ 클래스 메소드(static 메소드)
- staic이 붙은 메소드
- 클래스로 객체를 생성하지 않아도 호출이 가능한 메소드다. 해당 메소드가 정의되어 있는 클래스의 이름이나 생성된 객체를 통해 호출할 수 있다.
public static void StaticMethod(String name)
{
}
📍 특징
- 클래스 메소드는 메소드가 정의된 클래스에 속해 있는 것으로 취급한다.
객체를 생성해 호출할 필요 없이 클래스명을 통해 참조하여 호출할 수 있다
ClassName.MethodName(args)
- 같은 클래스를 통해 생성된 객체들간 같은 코드를 사용하는 것을 보장하기 위해 사용된다.
- 정적 메소드는 오버라이드 될 수 없다.
✏️ 인스턴스 메소드
- 우리가 일반적으로 정의하고 사용하는 메소드이다. 호출하기 위해서는 반드시 해당 메소드가 정의되어 있는 클래스의 객체를 먼저 생성해주어야 한다.
public void myMethod(String name)
{
}
📍 특징
- 인스턴스 메소드는 클래스의 객체에 속해있는 것이지, 클래스에 속해있는 것이 아니다. 즉, 클래스로 객체를 생성하고 그 생성된 객체를 통해서만 호출할 수 있다.
- 오버라이드가 가능하다.