[JAVA] 자바 static 의 의미와 사용법

코딩생활/JAVA

[JAVA] 자바 static 의 의미와 사용법

열렙생활 2021. 1. 19. 01:30
반응형

 

 

Static 이란?

정적(static)은 고정된이란 의미를 가지고 있다. static이라는 키워드를 사용하여 static 변수와 static 메소드를 만들 수 있다. 

(정적 필드와 정적 메소드 =정적 멤버 = 클래스 멤버 ) 정적 필드와 정적 메소드는 객체에 소속된 멤버가 아니라 클래스에 고정된 멤버이다. 

클래스 로더가 클래스를 로딩해서 메소드 메모리 영역에 적재할때 클래스별로 관리된다. 따라서 클래스의 로딩이 끝나는 즉시 바로 사용할 수 있다. 

static 메소드는 클래스가 메모리에 올라갈때 자동적으로 생성된다. 따라서 인스턴스를 생성하지 않아도 호출이 가능하다.

 

 

 

 

Static 사용법

static은 보통 변수나 메소드 앞에 static 키워드를 붙여서 사용한다.

인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static 붙인다. 

 

static 멤버 선언 예시

static int count=0;   // 타입 
public static void staticMethod(){}  // static 리턴 타입 

 

static 필드 사용 예시

class Number {
	static void print() {
    	System.out.println("static 입니다. ");
    }

 	void print2() {
    	System.out.println("static이 아닙니다. ");
    }

}

public class Function05 {


		public static void main(String[] args) {
	    	
	        
	        Number.print(); //인스턴스를 생성하지 않아도 호출이 가능하다
	        
	        Number number = new Number(); //인스턴스 생성
	        number.print2(); //인스턴스를 생성해야만 호출이 가능하다.
	        
	}

}

반응형