[Java] Static

JUNBEOM PARK·2022년 2월 14일
0

🧨 Java

목록 보기
19/33
post-thumbnail

🤔 Static ?

static 이란 정적이다 라는 의미를 갖고 있다.
Java에서는 클래스에 고정된 멤버이다. 그래서 클래스를 로딩 하면 메모리에 바로 할당 시켜 준다.

✔ static을 사용 하는 이유

static은 전역적으로 쉽게 재사용하는 멤버나 잘 변하지 않는 변수, 메소드를 사용할 때 주로 사용 된다.
클래스 호출, 객체 생성을 따로 할 필요 없이 바로바로 호출해서 사용할 수 있기 때문에 사용성이 좋다.

static 필드 사용 예시

class Number{
    static int num = 0; //클래스 필드
    int num2 = 0; //인스턴스 필드
}

public class Static_ex {
	
    public static void main(String[] args) {
    	Number number1 = new Number(); //첫번째 number
    	Number number2 = new Number(); //두번쨰 number
    	
    	number1.num++; //클래스 필드 num을 1증가시킴(static)
    	number1.num2++; //인스턴스 필드 num을 1증가시킴
        
        //두번째 number의 클래스 필드 출력 (static)
    	//출력값 1
        System.out.println(number2.num); 
    	//두번째 number의 인스턴스 필드 출력
        //출력값 0
        System.out.println(number2.num2); 
    }
}

static 메소드 사용예시

class Name{
    static void print() { //클래스 메소드
	System.out.println("print_test!");
    }

    void print2() { //인스턴스 메소드
	System.out.println("print_test!!!!!!!!!");
    }
}

public class Static_ {
	
    public static void main(String[] args) {
        Name.print(); //인스턴스를 생성하지 않아도 바로 호출이 가능
    	
        Name name = new Name(); //인스턴스 생성
        name.print2(); //인스턴스를 생성하여야만 호출이 가능
    }
}

But, static은 메모리 자원을 할당 해놓고 사용하는 것이기 때문에 남용 한다면 메모리를 많이 차지하게 되어 프로그램이 무거워 질 수 있다.

profile
DB 엔지니어👍

0개의 댓글