클래스 공유 값과 변경 불가능한 참조를 구분합니다.
static 멤버는 인스턴스가 아니라 클래스에 하나만 존재합니다. final 변수는 한 번만 대입할 수 있고 static final 상수는 클래스 전체에서 공유됩니다.
예제에서 private static final int LIMIT = 100; 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
final 참조가 가리키는 변경 가능한 객체 내부는 여전히 바뀔 수 있습니다. 진정한 불변 객체는 상태 자체와 외부 노출을 함께 설계해야 합니다.
공유 static 변경 상태는 테스트와 동시 실행을 어렵게 하므로 상수와 순수한 유틸리티 외에는 신중히 사용합니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 최대 강의 수 상수로 생성자 입력을 제한하세요.
모든 메서드와 필드를 static으로 만들면 객체별 상태와 다형성을 사용할 수 없습니다.
직접 바꿔보세요최대 강의 수 상수로 생성자 입력을 제한하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.