static
을 붙인다.고정 영역
코드 영역 데이터 영역 프로그램의 코드가 저장되는 영역 static으로 선언되는 변수가 할당되는 영역 이 영역에 저장된 명령어들을
cpu가 하나씩 가져가 실행한다.이 영역에 할당되는 변수들은 프로그램 시작과 동시에
메모리 공간이 할당되어 종료될 때까지 남아 있게 된다.
동적 영역
힙 영역 스택 영역 프로그래머가 원하는 시점에
변수를 할당하고 소멸시키는 영역
/ 객체가 생성되는 영역함수가 실행될 때 사용되는 파라미터와
지역 변수에 대한 메모리 공간메모리 동적 할당 시 사용된다. 함수의 종료와 함께 소멸된다.
new
키워드를 사용해서 객체나 배열을 생성하면 사용된다.static
변수는 프로그램의 실행과 동시에 객체의 생성 여부와 상관없이 이미 존재하기 때문에 소스 코드에서는 특정 클래스 안에 명시하지만, 그 클래스를 통해서 생성되는 객체나 그 안에 포함된 멤버변수와는 다른 존재이다.
- 객체가 생성되지 않았더라도 이미 존재하고 있기 때문에 static 변수는 객체의 이름을 통해 접근하는 것이 아니라 클래스의 이름을 통해서 접근해야 한다.
- static이 선언된 클래스 및 다른 클래스에서 접근하는 경우
// Article이라는 이름의 클래스에 static 변수 count, category가 존재할 때 Article.count = 3; Article.category = "공지사항";
- static이 선언된 클래스에서 접근하는 경우
count = 3; category = "공지사항";