ここまでは,基本的に実行する前にすべての参照関係を解消するリンクについて解説してきた。これに対し,プログラムの実行時に参照関係を決定するものもある。これを「ダイナミック・リンク」と呼ぶ。この呼び方と対比する場合,通常のリンクを「スタティック・リンク」と呼ぶ(図6[拡大表示])。 Javaにはリンクとは別にコンパイルの後の作業がある。Javaの場合,ソース・コードをコンパイルすると,個々のクラスごとに「.class」という拡張子のファイルを生成する。ちょっとした規模のプログラムでも,その数は膨大になる。これでは他のユーザに配布するのは困難である。そこで配布できる形にまとめた「.jar」というファイルを作るのが普通だ。しかしこのファイルの場合,リンクの作業,すなわち参照関係の結びつけはしていない。 Javaでリンクが発生しないのは,実行時にすべての参照関係を確定するからだ。実行時に名前で呼び出
![先輩教えて!プログラミングのabc(第1回)---コンパイルとビルドって何が違うの(下)](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)