객체지향 프로그래밍 - 클래스 메소드 vs 인스턴스 메소드
클래스 메소드(static 메소드)
- 메소드 앞에 static이 붙어 있다.
- 객체를 생성하지 않고도 호출이 가능하다.
- 클래스 메소드는 인스턴스 변수를 사용할 수 없다.
인스턴스 메소드
- static이 붙어있지 않은 메소드이다.
- 반드시 객체를 생성해야만 호출이 가능하다.
인스턴스란?
- 객체지향 프로그래밍에서 클래스에 소속된 개별적인 객체를 말한다.
- 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화(instantiate)라고 한다.
어떤 경우에 클래스 메소드(static 메소드)를 이용하는가?
- 같은 클래스 내에 있는 인스턴스 변수와 관련된 작업을 하는 메소드는 인스턴스 메소드로 정의한다.
- 인스턴스 변수와 관계없는 메소드를 클래스 메소드로 정의한다.
- 인스턴스 변수를 사용하지 않는다 하여 반드시 클래스 메소드로 정의해야 하는 것은 아니다.
인스턴스 변수
- 클래스 내의 멤버변수 중 satatic이 붙지 않은 변수