Flutterアプリを作るためのプログラミング言語であるDartでは、ファイルの冒頭に「import」文を書くことで、今コードを書いているDartファイルに存在しないクラス(そのDartファイルにあるトップレベル関数・プロパティ含む)を使うことができます。
しかし、「import文」によって「輸入」されたDartファイルの全てのクラス及びクラスに属しているメンバ(プロパティ・メソッド)が使えるわけではなく、仮にimportされても他のDartファイルからアクセスしてほしくないものには、名前の前に「_(アンダースコア)」をつけることで、他のDartからアクセスしないようにすることができます。
他のプログラミングでは、この仕組を名前の前に「private」「public」などのアクセス修飾子をつけることによって区別することが多いですが、Dartではそれをアンダースコアのある無しで区別しています。
(Javaの場合)
private class HomeScreenState {
(Dartの場合)
class _HomeScreenState {
Unlike Java, Dart doesn’t have the keywords
public
,protected
, andprivate
. If an identifier starts with an underscore (_
), it’s private to its library.(Javaと違い、Dartにはpublic、protected、privateというキーワードがありません。識別子がアンダースコア(_)で始まる場合は、そのライブラリのプライベートです。)
(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)