티스토리 뷰

1. 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에는 static을 붙여서 클래스변수로 정의한다. 클래스변수로 정의하게 되면 클래스가 메모리에 올라갈 때 이미 자동적으로 생성되어 Method Area에 저장된다.

2. 클래스 메서드(static메서드)는 인스턴스 변수를 사용할 수 없다. 클래스메서드가 호출되었을 때 인스턴스가 존재하지 않을수도 있기 때문에 클래스 메서드에서 인스턴스 변수의 사용을 금지한다. 반대로 인스턴스 변수나 인스턴스 메서드에서는 클래스멤버들을 사용하는 것이 언제나 가능하다. 클래스 멤버들의 생성이 인스턴스의 생성보다 먼저이기 때문이다.

3. 인스턴스변수를 필요로 하지 않는 경우, static을 붙이는 것이 좋다. 이렇게 하면 클래스가 메모리에 올라갈 때 이미 함께 올라가기 때문에 메서드 호출시간이 짧아져서 성능이 향상된다. static을 붙이지 않는 경우 실행시 호출되어야 할 메서드를 찾느라 시간이 더 걸린다.

자바의 정석(남궁성 저) P.278

300x250

'공부흔적 > 자바' 카테고리의 다른 글

스레드의 구현과 실행  (0) 2021.04.12
멀티스레딩  (0) 2021.04.12
JVM의 메모리 구조  (0) 2021.04.07
메서드를 사용하는 이유  (0) 2021.04.07
클래스의 변수  (0) 2021.04.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함