문제 설명

※ 본 문제는 두 코드 파일, Car.java와 CarExam.java로 구성되어있습니다. 파일 이름을 클릭하면 파일 내용물을 볼 수 있습니다.

다음 코드에서 taxi의 wheelCount와 suv의 wheelCount는 서로 다른 값을 저장한 것 처럼 보이지만, 둘은 모두 마지막에 지정한 4라는 값을 가집니다. (코드 7번째 줄 참고) 이는 Car클래스의 wheelCount가 static 변수이기 때문입니다.

코드를 제출해서 정말 둘이 같은 값을 가지는지 확인해 보세요.

답을 모르겠나요?[1]


static 변수는 인스턴스가 아닌 클래스에 귀속됩니다. 따라서, 인스턴스가 여러개 생성돼도 static 변수는 딱 하나만 있습니다. 아래 코드를 참고하세요.

ValableScopeExam v1 = new ValableScopeExam();
ValableScopeExam v2 = new ValableScopeExam();

v1.staticVal = 10;
v2.staticVal = 20; 

// static은 값을 공유하므로 두 코드 모두 20을 출력
System.out.println(v1.statVal);
System.out.println(v2.statVal);

[1]: 이 실습에서는 코드를 실행만 하면 무조건 정답이라고 판단합니다. 아무것도 안했는데 정답이라고 판단한다고 당황하지 마세요. 😀

실행 결과 실행 중지