質問: C#入門者です。 ``` public class Sample { public void Hoge(){} void Fuga(){} } ``` 上記のコードの`Sample.Hoge()`と`Sample.Fuga()`の違いはなんでしょうか。 publicやprivateなどがないとき、どのような扱いになるのでしょうか。 また、どのような場合にこういった書き方が必要になるのでしょうか。
回答: メソッドの場合は省略するとprivateと同じ扱いになります。つまり下記と同じ意味です。 ``` private void Fuga(){} ``` 詳細はMSDNなどが参考になると思います。 * [アクセス修飾子 (C# プログラミング ガイド)](https://msdn.microsoft.com/ja-jp/library/ms173121.aspx "アクセス修飾子 (C# プログラミング ガイド)") * [実装の隠蔽 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C](http://ufcpp.net/study/csharp/oo_conceal.html#level "実装の隠蔽 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C") 省略する理由はおそらく様々だと思いますが、例えばUnityの場合はUnityが出力するC#スクリプトの雛形ではすでにprivateを省略されているため、Unityのプロジェクトのスクリプトではprivateを省略する書き方をよく見かける気がします。