클래스에 메서드가 하나만 있다고 가정해보자. 클래스 안에 있는 메서드를 사용할 경우 매번 인스턴스를 생성해야한다.
단지 메서드를 쓰기 위해서 매번 인스턴스를 새로 생성해야하는 것은 메모리 낭비이다. 그리고 코드도 지져분해진다.
이럴 경우 어떻게 하면 좋을까?
정적 메서드
정적 메서드를 사용하면 붎필요한 객체 생성 없이 편리하게 메서드를 사용할 수 있다.
용어 정리
정적 메서드 사용법
정적 메서드는 객체 생성없이 클래스에 있는 메서드를 바로 호출할 수 있다는 장점이 있다. 하지만 정적 메서드는 언제나 사용할 수 있는 것이 아니다.
정적 메서드가 인스턴스의 기능을 사용할 수 없는 이유
인스턴스 변수를 쓰려면 인스턴스가 생성되어야하는데, 인스턴스를 만들지 않는다면 인스턴스의 참조값을 알 수 없기 때문이다.
정적메서드는 클래스의 이름을 통해 바로 호출할 수 있다. 그래서 인스턴스처럼 참조값의 개념이 없다. 특정 인스턴스의 기능을 사용하려면 참조값을 알아야 하는데, 정적 메서드는 참조값 없이 호출한다. 따라서 정적 메서드 내부에서 인스턴스 변수나 인스턴스 메서드를 사용할 수 없다.
정적 메서드 활용
정적 메서드는 객체 생성이 필요 없이 메서드의 호출만으로 필요한 기능을 수행할 때 주로 사용한다. 예를 들어 간단한 메서드 하나로 끝나는 유틸리스성 메서드에 사용된다.