(자바) instance(인스턴스), static(스테틱), 메소드 처리 방식

2021. 12. 22. 21:08자바 (Java)


Static이 붙은 클래스는 매소드(Class Method) 방식
인스턴트 메소드는 (Instance Method)는 Non-Static 방식
 

 

 

역시 생활 코딩! 이해쏙쏙 (출처: 생활코딩)

 

 

 

 

Print p1= new Print();

일단, 인스턴스 =복제품이라 생각하면 된다.  위 예시 코드에서는 p1이 인스턴스이다.. 

 

p1.delimeter="****" //인스턴스 메소드 호출

이 인스턴스는 .(점)을 붙여서 메소드를 호출할 수 있는데

 

class Point
	public delimeter=" "; //Static이 빠져있음

이게 인스턴스 메소드 호출이라 메소드에 Static을 넣어서는 안된다. 

 

class Snoopy!

 

 

 

반대로 생각하면

인스턴스(instance) 메소드 안에서는 인스턴스, 클래스 변수와 메소드 모두 접근 가능하다. 

스테틱(static) 메소드 안에서는 static 변수, 메소드만 접근 가능하다.

 

 

 

 

 

 

 

instanceSnoopy(인스턴스 메소드)는 외부 Static 클래스에서도 인스턴스라서 접근 불가능

 

 

 

 

*****************************

클래스 변수를 바꾸면 모든 인스턴스 변수 값이 바뀐다. 

인스턴스에서도 클래스 변수를 바꿀 수 있는데 클래스의 변수가 바뀌고 걔를(?) 사용하는 모든 인스턴스 값도 바뀐다.