module-info는 의존·공개·서비스 경계를 한 계약에 모은다

package의 public만으로는 다른 module에서 읽을 수 있는지와 service provider를 알 수 없습니다.

module-info.javamodule boundary contract

requires

읽는 module

exports

compile-time public package

opens

runtime reflection package

uses

service consumer

provides … with

service implementation

핵심: descriptor가 compile·runtime module graph의 허용 관계를 명시합니다.