[JAVA] 클래스 메서드(static)와 인스턴스 메서드(instance)

JAVA 클래스 메서드(static)와 인스턴스 메서드(instance)


인스턴스 메서드는 클래스 맴버에 접근 할 수 있다.
클래스 메서드는 인스턴스 맴버에 접근 할 수 없다.

static키워드와 함께 작성된 변수와 메서드는 static키워드를 사용하지 않는 변수와 메서드에 접근 할 수 없다.
반면에 static키워드 없이 작성된 변수와 메서드는 static변수와 메서드에 접근 할 수 있다.


1. 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용될 변수와 메서드에 static을 붙인다.

2. 메서드 내에 인스턴스 변수를 사용하지 않으면 static을 사용하는것이 좋다.

3. 클래스 메서드(static 메서드)는 인스턴스 변수를 사용 할 수 없다. 

4. 클래스 변수(static 변수는) 인스턴스를 생성하지 않아도 사용할 수 있다.

5. static메서드는 static변수 사용 가능

6. 인스턴스 메서드와 변수의 경우 new연산자로 메모리 할당시에만 사용가능하지만 클래스 메서드(static 메서드는) new연산자로 메모리 할당없이 사용가능. 컴파일과정에서 메모리 자동생성.

7. static메서드에서는 this 사용이 불가능하다. 하지만 new 연산자로 static메서드 안에 메모리를 할당하면 this 사용이 가능하다.




댓글