본문 바로가기

Com/Java

[Java] 클래스의 정적 필드 / 정적 메소드 / Static Field / Static Method

1. Static Field / 정적 필드

Class를 생성할 때 변수 부분을 Field 라고 하는데 이 변수를 static 으로 선언을 해주게 되면 이 변수는 객체가 생성될 때 마다 생성되는 변수가 아니라 Class에 속하는 변수가 된다. 즉 int a; 가 있으면 객체가 생성될 때 마다 변수가 객체마다 a가 존재하지만 static int a; 라고 선언을 해주면 생성된 모든 객체가 a 를 공유하게 된다.(a가 1개만 존재하고 Class에 속하게 된다)

정적 필드는 모든 객체가 공유한다. 하지만 생성자(Constructor)의 인자로 정적 필드값을 변경한다면 정적 필드를 사용하는 의미가 없다. 정적 필드는 필요한 상수 값 같은 데이터를 저장한다.

2. Static Method / 정적 메소드

먼저 Static Method는 메소드 내부에 static 변수(static field)만을 사용할 수 있다. 또 정적 메소드는 한 클래스에 정적 메소드들을 담아서 기능적인 클래스를 만들때 사용한다.