Patrick's 데이터 세상
static 변수(클래스 변수) 본문
반응형
SMALL
■ static 변수
static 변수는 한 클래스의 모든 인스턴스가 공유하는 static 변수입니다.
class InstCnt
{
static int instNum = 0;
public InstCnt()
{
instNum++;
System.out.println("인스턴스 생성 : "+instNum);
}
}
class ClassVar
{
public static void main(String[] args)
{
InstCnt cnt1 = new InstCnt();
InstCnt cnt2 = new InstCnt();
InstCnt cnt3 = new InstCnt();
}
}
· 실행 결과
인스턴스 생성 : 1
인스턴스 생성 : 2
인스턴스 생성 : 3
초기에 static으로 선언된 instNum에서 메인 함수에서 생성자를 생성할 때마다 증가하여 생성되는 것을 확인할 수 있습니다.
static으로 선언된 변수는 변수가 선언된 클래스의 모든 인스턴스가 공유하는 변수입니다.
■ static 변수 활용
인스턴스 간 데이터 공유가 필요한 상황에서는 static 변수를 선언합니다.
class CirCle
{
static final double PI = 3.1415;
private double radius;
public Circle(double rad)
{
radius = rad;
}
public void showPerimeter() // 둘레 출력
{
double peri = (radius*2)*PI;
System.out.println("둘레 : "+peri);
}
public void showArea() // 넓이 출력
{
double area = (radius*radius)*PI;
System.out.println("넓이 : "+area);
}
}
class ClassVarUse
{
public static void main(String[] args)
{
Circle cl = new Circle(1.2);
cl.showPerimeter();
cl.showArea();
}
}
· 실행 결과
둘레 : 7.5396
둘레 : 4.52376
반응형
LIST
'Programming > Java' 카테고리의 다른 글
Spring 개요 (0) | 2020.06.24 |
---|---|
static 메소드 (0) | 2020.06.23 |
자바 이름 생성 규칙(Naming Rule) (0) | 2020.06.23 |
클래스, 인스턴스 (0) | 2020.06.23 |
메소드의 재귀호출 (0) | 2020.06.23 |