Programming/Java

static 메서드와 인스턴스 메서드

helloworld: 2021. 10. 7. 04:03

예제 코드 : https://github.com/khg620/Java-Basic/commit/d3c03c002ca6c9cb4d4739330aa5674d8b303e21

 

클래스 메서드(static method)와 인스턴스 메서드 · khg620/Java-Basic@d3c03c0

Permalink This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Browse files 클래스 메서드(static method)와 인스턴스 메서드 Loading branch information Showing 2 changed files with 40

github.com

공부 자료 : 남궁성 저 자바의 정석 3판


클래스 메서드와 인스턴스 메서드

클래스 메서드(static method)

▶ ※ 클래스멤버는 언제나 참조, 호출 가능

▶ 객체를 생성하지 않고 클래스명.메서드명(매개변수)로 호출

 - 클래스가 메모리에 올라갈 때 자동 생성되므로

▶ 인스턴스 변수를 사용할 수 없다

 - 클래스 메서드 호출 시 인스턴스 메서드가 존재하지 않을 수도 있으므로

▶ 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드를 일반적으로 클래스 메서드로 정의한다

- 인스턴스 메서드는 실행 시 호출되어야 할 메서드를 찾는 과정 추가되므로 static메서드보다 시간이 더 걸린다

▶ 클래스의 멤버변수 중 모든 인스턴스에서 공통된 값을 유지해야 하는 것이 있다면 static을 붙여준다

 

인스턴스 메서드(instance method)

▶ ※ 인스턴스 멤버는 객체를 생성한 후에 호출 가능

▶ 인스턴스 변수를 사용하여 작업을 수행하는 메서드

▶ static 멤버 사용 가능

- 인스턴스 멤버가 존재하는 시점에 클래스멤버는 항상 존재하므로