1. 정적변수와 정적함수
정적변수와 정적함수는 모두
static이란 키워드를 통해
만들게 된다.
1) 정적변수
정적변수는 다음과 같이 선언한다.

객체를 생성할때와 마찬가지로
반드시 static이라는 키워드를 붙여줘야 한다.
정적변수와 일반변수의 차이점은
정적변수는 클래스 단위 변수이기에
모든 객체가 하나의 메모리를 공유하고 있단 점이다.
즉, 정적변수는 값을 변경하면
같은 클래스 객체 전체에 영향을 주게 된다.

이렇게 동적할당시킨 변수 s1과 s2를 선언시켜
확인해보도록 하겠다.
일반변수인 normalVal과
정적변수인 staticVal의 값을 변경시켜
s1과 s2모두를 출력시켜보겠다.
그러면

이런 결과가 나오는 모습을 확인할 수 있다.
앞서 말했듯,
정적변수는 하나의 메모리를 공유하고 있기 때문에
변수 하나의 값이 바뀌면
나머지 변수의 값도 바뀌게 된다.
2) 정적함수
정적함수는 다음과 같이 선언한다.

앞선 함수선언과 다르게
ststic이란 키워드를 사용한 것이 보인다.
정적함수를 사용할 때 조심해야 할 점은
정적함수에서는 일반 변수를 사용할 수 없단 점이다.
정적함수 내에서는 반드시 정적변수만 사용이 가능한데,
이는 정적변수나 정적함수는 객체가 생성되 전에
메모리에 올라가기 때문이다.

만일 정적함수 안에 정적 변수를 사용한다면
이렇게 에러가 뜨는 것을 보게 될 것이다.
정적변수와 정적함수는
다른 변수나 함수와 다르게 객체를 생성하지 않아도
호출이 가능하다.

2. 배열
자바에서의 배열 선언은 이렇다.


배열 사용시 주의점은 위의 예제처럼
int형의 배열을 선언하면
int형의 값만 넣을 수 있단 점이다.
또한, 배열의 범의를 벗어난 인덱스의 값을
바꾸려고 하면 에러가 뜬다.
배열 또한 객체를 생성한 후 사용해야 한다.

+++++
배열의 첫 인덱스부터 끝 인덱스까지
값을 살펴보기 위해서 주로 for문을 자주 사용했었다.

근데 for each문이란걸 배웠는데
엄청 유용해서 앞으로 이걸 자주 쓸 것 같다.

형식은 for(변수선언 : 배열 | 컨테이너) {실행문;} 이다.
'JAVA' 카테고리의 다른 글
| 06. LinkedList 구현해보기 (0) | 2022.02.24 |
|---|---|
| 05. ArrayList 구현해보기 (0) | 2022.02.23 |
| 04. 네비게이션 바 구현하기 (0) | 2022.02.22 |
| 03. 추상 클래스, Factory Pattern, 상속 (0) | 2022.02.21 |
| 01. 자료형과 멤버 접근 범위지정자, 생성자, 함수 오버로딩 (0) | 2022.02.18 |