2022.06.16
공통으로 사용하는 변수가 필요한 경우
여러 인스턴스가 공유하는 기준 값이 필요한 경우
학생마다 새로운 학번 생성
카드회사에서 카드를 새로 발급할때마다 새로운 카드 번호를 부여
회사에 사원이 입사할때 마다 새로운 사번이 필요한 경우
static 변수 선언과 사용하기
static int serialNum;
인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당
클래스 변수, 정적변수라고도 함(vs. 인스턴스 변수)
인스턴스 생성과 상관 없이 사용 가능하므로 클래스 이름으로 직접 참조
Student.serialNum = 100;
static 변수 테스트
클래스생성
객체생성
출력결과
employeeKim.serialNum++에서 ++연산자로 인해 serialNum의 값이 1001로 출력되었다
static변수는 인스턴스에서 공통으로 사용하는 영역임을 알수 있음
회사원이 입사할 때마다 새로운 사번 부여하기
생성자 구현
출력결과
static변수와 메서드는 인스턴스 변수, 메서드가 아니므로 클래스 아름으로 직접 참조
system.out.println(Employee.serialNum);