本論文ではJavaプログラムの複雑さを測定するためのソフトウェアメトリクスについて議論する.これまでにC++プログラムの複雑さを測るメトリクスが提案されているが,これらはJavaプログラムの特性を必ずしも反映していない.そこで,Javaプログラムに対して有効なソフトウェアメトリクスの開発を目指す. まず,C++とJavaに共通する機能部分と,そうでないものをプログラム複雑さの観点から明らかにする.例えば,C++におけるクラスの多重継承がJavaにおいては実装されていないことに注目する.また,C++にはないpackage,interface,nativeコードなどがJavaプログラムに特徴的な機能であり,Javaプログラムの複雑さ測定に必須であることを指摘する.次に,筆者らがC++用に既に開発している12個のメトリクスの中から3個のメトリクスを削除し,新しく4個のメトリクスを追加して,Javaプログラム用のメトリクスを定義する.