プログラミングにおける3種類のかっこ、()[]{}の混同しがちな使い方開発者が知っておくべき「かっこ」の違い【後編】

エンジニアがソースコードでよく目にする「丸かっこ」「角かっこ」「波かっこ」には、それぞれどのような役割があるのか。実際のソースコードを例に挙げて、主要な役割を解説する。

2024年05月31日 08時00分 公開
[Darcy DeCluteTechTarget]

 「Java」「C++」「C#」などのプログラミング言語で書かれたソースコードには、さまざまな記号が登場する。中でも混同しやすいのが「かっこ」だ。「()」で表される「丸かっこ」、「[]」で表される「角かっこ」、「{}」で表される「波かっこ」は、ただ文字列をくくるだけの存在ではない。プログラミングにおいて、これら3種類のかっこが一般的にどう使われているのかを解説しよう。

実例で学ぶかっこの使い方

丸かっこ()の使い方

 Javaをはじめとするプログラミング言語では、一般的にメソッド(機能)を使用するときに丸かっこを使う。以下のJavaサンプルプログラムでは、「doSomething」メソッドを定義している。doSomethinsは2つの引数「round」「brackets」を受け取るメソッドであることを定義するために、丸かっこを用いている。

public void doSomething(String round, int brackets){
    return 0;
}

 メソッドを呼び出すときにも、丸かっこを使う。以下はdoSomethingを呼び出すサンプルプログラムだ。int型の変数「x」には、doSomethingの実行結果である「0」が代入される。

int x = doSomething("data", 42);

角かっこ[]の使い方

 プログラミング言語において、一般的に角かっこは配列を定義する際に使う。以下はJavaのサンプルプログラムだ。文字列(String)型の配列を宣言し、その中に「I」「need」「arrays」という3つの値を格納して初期化している。配列は、同じ型の変数をまとめたデータ群を指す。

String[] data = {"I", "need", "arrays"};

 一部のプログラミング言語では、角かっこの中に範囲を記述することで、配列の一部を取り出すこともできる。以下はC#のサンプルプログラムだ。1行目では、1〜10の整数を初期値に持つint型の配列を、変数「array」に代入している。2行目では、arrayから配列の一部を取得する際に、角かっこを使って範囲を指定している。「[2..^4]」が範囲を指定する部分だ。「..」は範囲を指定するための「範囲演算子」で、左側に範囲の始点、右側に範囲の終点を置く。この場合は「2」が部分配列の開始インデックス(配列のインデックスは「0」から始まるため、「2」は3番目を指す)だ。「^」は配列の末尾から手前に何個数えた位置にあるのかを指定する。「^4」は「末尾から4番目の要素の手前」を指すので、「arrayの『3番目』から『末尾から数えて4番目の手前』」、つまりarrayの3〜6番目の要素を値に持つ部分配列(3〜6)を取得できる。取得した部分配列は、変数「slice1」に代入される。

var array = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var slice1 = array[2..^4];

 配列だけではなく、データや操作をまとめた「オブジェクト」のプロパティ(属性)や、コレクション(オブジェクトの集合体)の要素にアクセスする際にも角かっこを使う。以下のC#のサンプルプログラムは、文字列をキーに持つコレクション「Dictionary」型の変数「data_dictionary」を扱っている。変数「value」には、「key」という値をキーに持つdata_dictionary内の値を代入している。

value = data_dictionary['key']

波かっこ{}の使い方

 Javaや「C」などのプログラミング言語では、クラス(オブジェクトの設計図)、メソッド、ループなどのまとまりの開始と終了を定義するために波かっこを使用する。波かっこに囲まれた範囲が、その中にある変数やメソッドが有効な範囲(スコープ)となる。

 例えばクラスCの定義において、変数xを定義したとき、変数xのスコープはクラスC全体になる。xが外部から参照できるような指示を与えなければ、クラスCの外からは参照できない。これと同様に、メソッド内で定義された変数も、標準ではメソッドの中からしかアクセスできない。「for」「while」といったループ構造の開始と終了を示す波かっこの中で定義された変数は、そのループ内がスコープとなる。


 ここまでに取り上げた3種類のかっこの名称を知らないからといって、誰かに指摘されることはほとんどない。実際、「パーレン」「大かっこ」「カーリーブラケット」などの別の呼び方も開発者の会話に登場する。とはいえ、さまざまなプログラミング言語の記号や成果物に関する専門用語を知っておくのは良いことだ。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news102.jpg

矢野経済研究所「2024年版 デジタルコンテンツ市場動向調査」を実施
矢野経済研究所は、国内のデジタルコンテンツ市場を調査し、市場概況や主要企業動向を明...

news100.jpg

Salesforceの「Einstein Copilot」は他社のAIアシスタントと何が違うのか?
Salesforceが対話型AIアシスタント「Einstein Copilot(β版)」を日本市場で提供開始し...

news029.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2024年6月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。