## 문제 상황 - Java 9 이상에서 JavaFX 프로젝트를 만들고 TableView에 데이터를 표시하려고 할 때, 다음과 같은 오류 발생 Caused by: java.lang.IllegalAccessException: module javafx.base cannot access class employee.Employee (in module com.example.worktimetracker) because module com.example.worktimetracker does not open employee to javafx.base - 또는 TableView의 각 컬럼에서 `Can not retrieve property ...` 오류가 발생. ## 원인 - Java 9 이상의 모듈 시스템(JPMS) 환경에서는 TableView의 `propertyValueFactory`나 FXML 로딩이 내부적으로 리플렉션을 사용한다. - 리플렉션으로 접근하려면, 해당 패키지를 `Modulue-info.java`에서 `open`으로 열어줘야 한다. ## 해결 방법 1. module-info.java 파일 열기 대게 프로젝트의 src/main/java/module-info.java 로 위치해 있다. 2. opens 지시문 추가 ```java module com.example.worktimetracker { requires javafx.controls; requires javafx.fxml; // ... opens employee to javafx.base, javafx.fxml; //본인은 employee 패키지가 해당되었고 이를 open시켜 주었음 } ``` - `open 해당패키지 to javafx.base, javafx.fxml;` → 패키지를 TableView와 FXML에서 리플렉션으로 접근할 수 있게 연다. ## 결과 - TableView, FXML, PropertyValueFactory 관련 리플렉션 오류가 모두 해결되었고, 데이터가 정상적으로 TableView에 표시됨.