java static method
java static method
■ 지난 글에서 static 필드의 개념과 초기화 방법에 대해서 알아봤었는데요. 참고하실 분들은 아래 글 보시고요.
이번 글에서는 static method에 대해서 알아보겠습니다. 이 녀석은 static 필드를 처리하기 위한 메서드이기 때문에 0번째 매개변수인 this를 갖고 있지 않습니다. 즉, 일반 멤버들을 static 메서드에서 절대로 사용할 수 없습니다. 필드뿐만이 아니라 일반 메서드도 static 메서드 내부에서는 사용할 수 없습니다.
■ 그리고 static 메서드 역시 필드와 마찬가지로 객체가 없어도 클래스 이름으로 접근이 가능합니다. 간단한 예제를 하나 만들어보면서 살펴보겠습니다.
▲ 이 클래스에서는 static 필드와 메서드를 선언하고 있고, 이것들을 다른 클래스에서 객체와 클래스 이름으로 각각 접근해서 사용해보겠습니다. 프로그램의 내용을 잠깐 살펴보자면 두 개의 수를 입력받아서 a, b 필드에 저장하고 이 값을 합한 값을 tot에 저장하고 있습니다. 다른 클래스에서 이 클래스의 멤버들에 접근할 텐데요.
getTot() 메서드는 static으로 선언되어 있기 때문에 클래스 이름으로 접근이 가능하겠죠? AAA라는 클래스 이름으로 접근해볼게요. 그리고 마지막 disp() 메서드는 객체를 이용해서 접근하겠습니다.
▲ AAA 클래스는 객체 aa를 만들고, 첫 번째 출력 문구는 클래스 이름 AAA로 getTot() 메서드에 접근했고요. 두 번째는 aa 객체를 이용해서 disp()를 출력하고 있습니다.
static 메서드와 필드는 static 메서드에서만 호출할 수 있는데 main() 메서드가 static이기 때문에 getTot() 메서드를 호출할 수 있는겁니다. 참고하시고요. 수고하셨어요.