์Šคํƒœํ‹ฑ (static) ์ด๋ž€?
2025. 1. 19. 14:01

static : ์ •์ , ๊ณ ์ •๋œ ์ด๋ž€ ์˜๋ฏธ

์ž๋ฐ”์—์„œ์˜ static ํ‚ค์›Œ๋“œ๋ž€? ํด๋ž˜์Šค, ์ •์  ๋ฉค๋ฒ„ => static ๋ณ€์ˆ˜, static ๋ฉ”์„œ๋“œ

 

Static์˜ ํŠน์ง•

- ๋ฉ”๋ชจ๋ฆฌ์— ๊ณ ์ •์ ์œผ๋กœ ํ• ๋‹น

- ๊ฐ์ฒด ์ƒ์„ฑ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 - static ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ๋Š” ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์‚ฌ์šฉ ๋ถˆ๊ฐ€

- ํ•œ๋ฒˆ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๋ฉด ๋ฉ”๋ชจ๋ฆฌ์˜ static ์˜์—ญ์— ์ ์žฌ๋˜๊ณ , ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋  ๋•Œ ํ•ด์ œ๋จ => GC๊ฐ€ ํ•„ํ„ฐ๋ง ํ•˜์ง€ ๋ชปํ•จ

 

public class Ex {
	public void test() {
    		System.out.println("์ถœ๋ ฅ๋ ๊นŒ?");
    	}
    
    public static void main() {
    	// test(); // ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ๋˜์ง€ ์•Š๊ณ , ์ปดํŒŒ์ผ ์—๋Ÿฌ ๋ฐœ์ƒ!
    }
}

  => ์ปดํŒŒ์ผ ์—๋Ÿฌ ๋ฐœ์ƒ ์ด์œ  : print ๋ฉ”์„œ๋“œ๊ฐ€ static ๋ฉ”์„œ๋“œ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ ๋˜์ง€ ์•Š์Œ

 

static ๋ถ™์ด๋ฉด ์‚ฌ์šฉ๊ฐ€๋Šฅ!

public class Ex {
	public static void test() {
    	System.out.println("์ถœ๋ ฅ๋ ๊นŒ?");
    }
    
    public static void main() {
    	test(); // ์ถœ๋ ฅ๋ ๊นŒ? ์ถœ๋ ฅ๋จ
    }
}

 

 

static ํด๋ž˜์Šค ํ™œ์šฉ ์˜ˆ )

public class Ex {
	static int sNum = 10;
    	int iNum = 20;
    
	public static void main(String[] args) {
                   // iNum; // => X ์Šคํƒœํ‹ฑ ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ๋Š” ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉX
                   
                   Person p = new Person();
                   Person p2 = new Person();

                   // p.num = 10; // => X 
                   Person.num = 10;
                  System.out.println(Person.num);     // 10

      }
}

class Person {
    String name;         // ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๋งˆ๋‹ค ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ
    static int num;      //  ํด๋ž˜์Šค
	public static void method() {}

}

 

static ๋ฉค๋ฒ„๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰๊ณผ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— static ๋ฉ”์†Œ๋“œ ์•ˆ์— ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ์ „์— ๋จผ์ € ์˜ฌ๋ฆฌ๋Š” static ๋ฉค๋ฒ„ ์•ˆ์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ!

๋”ฐ๋ผ์„œ, static ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์ด๋ฉด ๊ฐ์ฒด ์ƒ์„ฑ ์—†์ด ๋ฉ”์†Œ๋“œ๋‚˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ!

 

 

static์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ?

static ํ‚ค์›Œ๋“œ๊ฐ€ ๋ถ™์ง€ ์•Š๋Š” ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์†Œ๋“œ์˜ ๊ฒฝ์šฐ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผ์†Œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋–„๋ฌธ์— ๊ฐ ๊ฐ์ฒด๋“ค์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๋Š” static ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค!

๊ณผ๋„ํ•˜๊ฒŒ ๋งŽ์€ static์„ ์„ ์–ธํ•  ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณผ๋ถ€ํ•˜๊ฐ€ ๋ฐœ์ƒ ํ•  ์ˆ˜ ์žˆ๋‹ค.