1. ์ •์  ๋ณ€์ˆ˜

ํด๋ž˜์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜๋ฉด ์ •์  ๊ฐ์ฒด๊ฐ€ ์ฆ‰์‹œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฐœ์ฒด๋Š” ์ •์  ํด๋ž˜์Šค ๋ณ€์ˆ˜(์ •์  ํด๋ž˜์Šค ํ•„๋“œ)๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ •์  ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค์˜ ์ผ๋ฐ˜(๋น„์ •์ ) ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

ํด๋ž˜์Šค์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋ณ€์ˆ˜๊ฐ€ ํ•œ ๋ฒˆ๋งŒ ์ƒ์„ฑ๋˜๋Š”์ง€ ๋˜๋Š” ๊ฐ ๊ฐœ์ฒด์— ์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜์˜ ๊ณ ์œ ํ•œ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ ๊ฐœ์ฒด์— ๋Œ€ํ•ด ๊ฐ ๋ณ€์ˆ˜์˜ ์ƒˆ ๋ณต์‚ฌ๋ณธ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ •์  ๋ณ€์ˆ˜ ๋Š” ํด๋ž˜์Šค์˜ ์ •์  ๊ฐœ์ฒด์— ๋ฐ”์ธ๋”ฉ๋˜๋ฉฐ ํ•ญ์ƒ ๋‹จ์ผ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ž˜์Šค์—์„œ ์ •์  ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด static์ด๋ฆ„ ์•ž์— ํ‚ค์›Œ๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ •์  ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

static Type name = value;

์ •์  ๋ณ€์ˆ˜์— ์ดˆ๊ธฐ ๊ฐ’์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.

์œ ํ˜• ๊ธฐ๋ณธ๊ฐ’
byte
0
short
0
int
0
long
0
float
0.0
double
0.0
char
'\u0000'
(๊ฐ™์€ ๊ฒƒ์€
0
)
boolean
false
Object
๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์ˆ˜์—…
null

์˜ˆ:

์•”ํ˜ธ ๋ฉ”๋ชจ
public static int WIDTH = 100;
public static String message = "Hello";
private static Scanner console;
private static int count = 0;
private static boolean flag;

ํด๋ž˜์Šค ๋‚ด์—์„œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์  ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ์ •์  ๋ณ€์ˆ˜ ์ด๋ฆ„ ์•ž์— ํด๋ž˜์Šค ์ด๋ฆ„์„ ์จ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ClassName.variable

์˜ˆ:

๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด ์ˆ˜์—… ํด๋ž˜์Šค ์™ธ๋ถ€์˜ ๋ณ€์ˆ˜์— ์•ก์„ธ์Šค
public static int WIDTH = 100;
Solution
Solution.WIDTH
public static String message = "Hello";
Main
Main.message
private static Scanner console;
JavaGame
๋ณ€์ˆ˜๋Š” ์ž…๋‹ˆ๋‹ค private. ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ๋Š” ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
private static int count = 0;
Counter
๋ณ€์ˆ˜๋Š” ์ž…๋‹ˆ๋‹ค private. ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ๋Š” ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
private static boolean flag;
Arithmetic
๋ณ€์ˆ˜๋Š” ์ž…๋‹ˆ๋‹ค private. ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ๋Š” ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


2. ์ •์  ๋ณ€์ˆ˜์™€ ๋น„์ •์  ๋ณ€์ˆ˜์˜ ์ฐจ์ด์ 

ํด๋ž˜์Šค์˜ ๋น„์ •์ (์ผ๋ฐ˜) ๋ณ€์ˆ˜๋Š” ํ‚ค์›Œ๋“œ ์—†์ด ์ •์  ๋ณ€์ˆ˜์™€ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค static.

์ผ๋ฐ˜ ๋ณ€์ˆ˜์™€ ์ •์  ๋ณ€์ˆ˜์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํด๋ž˜์Šค์˜ ์ผ๋ฐ˜ ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค์˜ ๊ฐœ์ฒด(ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค)์— ๋ฐ”์ธ๋”ฉ๋˜๋Š” ๋ฐ˜๋ฉด ์ •์  ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค์˜ ์ •์  ๊ฐœ์ฒด์— ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค.

ํด๋ž˜์Šค์˜ ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฐ ์ธ์Šคํ„ด์Šค์—๋Š” ๋น„์ •์ (์ผ๋ฐ˜) ๋ณ€์ˆ˜์˜ ๊ณ ์œ ํ•œ ๋ณต์‚ฌ๋ณธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค์˜ ์ •์  ๋ณ€์ˆ˜๋Š” ํ•ญ์ƒ ์ •์  ๊ฐœ์ฒด์— ์ €์žฅ๋˜๋ฉฐ ๋‹จ์ผ ์ธ์Šคํ„ด์Šค๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

ํด๋ž˜์Šค์˜ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํด๋ž˜์Šค์˜ ์ผ๋ฐ˜ ๋ณ€์ˆ˜(ํ•„๋“œ)์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ํด๋ž˜์Šค ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

์˜ˆ:

๊ฐœ์ฒด ์ฐธ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค์˜ ํ•„๋“œ์— ์•ก์„ธ์Šค
public class DataInfo
{
   public int value = 100;
}

public class Solution
{
   public static void main(String[] args)
   {
      DataInfo info = new DataInfo();
      System.out.println(info.value);
   }
}

์–ด๋””์—์„œ๋‚˜ ์ •์  ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ€์‹œ์„ฑ ์ˆ˜์ •์ž๋ฅผ ๊ณ ๋ คํ•œ ํ›„): ์ผ๋ฐ˜ ๋ฉ”์„œ๋“œ, ๋™์ผํ•œ ํด๋ž˜์Šค์˜ ์ •์  ๋ฉ”์„œ๋“œ, ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ ๋“ฑ.

์˜ˆ:

๊ฐœ์ฒด ์ฐธ์กฐ๋ฅผ ์‚ฌ์šฉ ํ•˜์ง€ ์•Š๊ณ  ํด๋ž˜์Šค์˜ ์ •์  ํ•„๋“œ์— ์•ก์„ธ์Šค
public class DataInfo
{
   public static int value = 100;
}

public class Solution
{
   public static void main(String[] args)
   {
      System.out.println(DataInfo.value);
   }
}

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•:

4๊ฐœ์˜ ํ•„๋“œ๊ฐ€ ์žˆ๋Š” ํด๋ž˜์Šค ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค Person. ๋‘ ๊ฐœ๋Š” ์ •์ ์ด๊ณ  ๋‘ ๊ฐœ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

public class Person
{
   public static int count = 0;
   public static int sum = 0;
   public int age = 0;
   public String name;
}

ํด๋ž˜์Šค ๋กœ๋”ฉ ์งํ›„

Java ์‹œ์Šคํ…œ์ด Personํด๋ž˜์Šค ๋กœ๋“œ๋ฅผ ์™„๋ฃŒํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๊ฐ์ฒด ์ƒ์„ฑ ํ›„

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด Person๊ทธ๋ฆผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฉ๋‹ˆ๋‹ค.

์ •์  ๋ณ€์ˆ˜์™€ ๋น„์ •์  ๋ณ€์ˆ˜์˜ ์ฐจ์ด์  2

๋‘ ๊ฐœ์ฒด ๋ชจ๋‘ ๋‘ ๊ฐœ์˜ ๋ณ€์ˆ˜๊ฐ€ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ๊ฐœ์ฒด์—๋Š” ์ผ๋ฐ˜ ๋ณ€์ˆ˜๊ฐ€ ์žˆ๊ณ  ์ •์  ๊ฐœ์ฒด์—๋Š” ์ •์  ๋ณ€์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋” ๋งŽ์€ ๋ฌผ๊ฑด์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

๋‘ ๊ฐœ์˜ ๊ฐœ์ฒด๋ฅผ ๋” ๋งŒ๋“ค์–ด ๋ด…์‹œ๋‹ค Person. ์ด์ œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ •์  ๋ณ€์ˆ˜์™€ ๋น„์ •์  ๋ณ€์ˆ˜์˜ ์ฐจ์ด์  3

๊ฐ ๊ฐ์ฒด์—๋Š” ๊ณ ์œ ํ•œ ์—ฐ๋ น ๋ฐ ์ด๋ฆ„ ๋ณ€์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.



static3. ์ˆ˜์ •์ž ์ œ๊ฑฐ ๋ฐ ์ถ”๊ฐ€

์ •์ ์—์„œ ์ผ๋ฐ˜์œผ๋กœ

์ •์  ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์™€ static์ˆ˜์ •์ž๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์ผ๋ฐ˜ ๋ณ€์ˆ˜๋กœ ๋ฐ”๊พธ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์˜ˆ๋ฅผ ๋“ค์–ด static int sum๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

์ˆ˜์ •๋œ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

public class Person
{
   public static int count = 0;
   public int sum = 0;
   public int age = 0;
   public String name;
}

์ด์ œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ •์  ๋ณ€์ˆ˜์™€ ๋น„์ •์  ๋ณ€์ˆ˜์˜ ์ฐจ์ด์ 

์ •์  ๊ฐ์ฒด์—์„œ ์ •์  ๋ณ€์ˆ˜๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  ์ด์ œ ์ผ๋ฐ˜ ๊ฐ์ฒด๋งˆ๋‹ค ๊ณ ์œ ํ•œ sum๋ณ€์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์—์„œ ์ •์ ์œผ๋กœ

๋ฐ˜๋Œ€๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. static์ˆ˜์ •์ž๋ฅผ ํด๋ž˜์Šค์˜ ์ผ๋ฐ˜ ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์ผ๋ฐ˜ ๊ฐœ์ฒด์—์„œ ์‚ฌ๋ผ์ง€๊ณ  ์ •์  ๊ฐœ์ฒด์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋ฐ ๋ณ€์ˆ˜๋ฅผ ์ •์  ์œผ๋กœ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค . agename๊ทธ๋Ÿฌ๋ฉด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

public class Person
{
   public static int count = 0;
   public int sum = 0;
   public static int age = 0;
   public static String name;
}

์ด์ œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ •์  ์ˆ˜์ •์ž ์ œ๊ฑฐ ๋ฐ ์ถ”๊ฐ€