static

jiiiiiiiArchive.·2025년 1월 14일

🤯지식주머니🤯

목록 보기
65/98

대학에서나 국비 수업에서 프로그래밍을 배울 때 가장 강조하셨던 부분은 "메모리 낭비 최소화 및 효율적인 자원 관리"였다.
메모리 낭비가 발생하면 시스템 성능에 영향을 미치고 나아가 시스템 전체의 안정성까지 저하시킬 수 있다고 한다.

객체를 활용한 다음 자바 예제에서 살펴보겠다.

class Fruit {
	String taste = "yummy";
}

public class Sample {
	public static void main(String[] args) {
 		Fruit apple = new Fruit();
        Fruit orange = new Fruit();
    }
}

Fruit 클래스를 만들고 객체를 생성하면 객체마다 객체 변수 Fruit을 저장하기 위한 메모리가 별도로 할당된다.

하지만 문득 이런 생각이 들었다.
Fruit 클래스의 taste는 어떤 객체이든지 동일한 값이 "yummy"인데 ?
"yummy"라는 값은 항상 변하지 않으니 객체를 호출할 때마다 동일한 값이 호출될 것이고 그렇다면 메모리가 낭비될 것 같다 !!

그래서 찾아본 static

static 변수

class Fruit {
	static String taste = "yummy";
}

public class Sample {
	public static void main(String[] args) {
 		Fruit apple = new Fruit();
        Fruit orange = new Fruit();
    }
}

yummy 변수에 static 키워드를 붙이면 자바는 메모리 할당을 딱 한 번만 하게 된다.
그래서 메모리를 적게 사용할 수 있다 !

또한 값을 공유할 수 있다.
static으로 설정하면 같은 메모리 주소만을 바라보기 때문에 static 변수의 값을 공유할 수 있다.

static 메서드

별거없다. 그냥 static 키워드가 메서드 앞에 붙으면 그 메서드는 static 메서드가 되는 것이다.

profile
이것저것 다 적는 기록장📚

0개의 댓글