プログラミングや設定ファイルにおいて、「プロパティ」、「フィールド」、「セクション」、「キー」、「メンバー」という用語が頻繁に登場します。これらの用語の違いについてこの記事では説明します。
プロパティ
プロパティ(Property)は、オブジェクトにおいて「名前と値のセット」を指す用語です。プロパティはプロパティ名: 値の形式で表現されます。一例として、以下のJSONオブジェクトを見てみましょう。
{
"name": "John",
"age": 30,
"server": {
"host": "localhost",
"port": 8080
}
}上記のJSONオブジェクトにおいて、"name": "John"や"age": 30がプロパティです。また、"server": { "host": "localhost", "port": 8080 } もプロパティです。serverプロパティの値はオブジェクトであり、オブジェクト内の"host": "localhost"や"port": 8080もプロパティです。また、name, age, server, host, portがプロパティ名です。
"server": { "host": "localhost", "port": 8080 } はプロパティですが、その値がさらにプロパティを含むオブジェクトとなっています。
補足
プロパティ名(nameやage)のことをプロパティということもあります。
フィールド
フィールド(Field)はオブジェクト内の特定のプロパティや設定項目を指す用語であり、プロパティとほぼ同じ意味で使われます。プロパティと同じく、フィールドはプロパティはプロパティ名: 値の形式で表現されます。
以下のJSONオブジェクトを見てみましょう。
{
"name": "John",
"age": 30,
"server": {
"host": "localhost",
"port": 8080
}
}上記のJSONオブジェクトにおいて、"name": "John", "age": 30, "server": { "host": "localhost", "port": 8080 }, "host": "localhost", "port": 8080がフィールドです。また、name, age, server, host, portがフィールド名です。
補足
フィールド名(nameやage)のことをフィールドということもあります。
セクション
セクション(Section)は、設定ファイルやデータファイルにおいて、特定の機能や目的に関連するプロパティのグループを指します。セクションはネストされたオブジェクトとして表現され、関連する設定やデータをまとめる役割を果たします。先ほど示したJSONオブジェクトの例では、serverがセクションに該当します。
また一例として、以下のINIファイルを見てみましょう。
[database]
host=localhost
port=5432
username=admin
password=secret
[server]
host=localhost
port=8080上記のINIファイルにおいて、databaseとserverがセクションです。それぞれのセクション内に、関連する設定項目(プロパティ, フィールド)が含まれています。
キー
キー(Key)は、オブジェクトのプロパティ名です。特定の値にアクセスするための識別子となります。先ほど示したJSONオブジェクトの例では、name, age, server, host, portがキー(キー名)です。
メンバー
メンバー(Member)は、クラスやオブジェクトに属するすべての要素の総称を指す用語です。フィールド(変数)やメソッド(関数)、コンストラクタなどをまとめて「メンバー」と呼びます。例えば、Pythonのクラスでは以下のように使われます。
class Person:
def __init__(self, name: str, age: int):
self.name = name # フィールド(メンバー)
self.age = age # フィールド(メンバー)
def greet(self): # メソッド(メンバー)
print(f"Hello, my name is {self.name}")nameとageはフィールド(メンバー)greet()はメソッド(メンバー)
これらを合わせてPersonクラスのメンバーと呼びます。
まとめ:プロパティ・フィールド・セクション・キー・メンバーの違い
以下のJSONオブジェクトについて、「プロパティ」、「フィールド」、「セクション」、「キー」の用語を再確認しましょう。
{
"name": "John",
"age": 30,
"server": {
"host": "localhost",
"port": 8080
}
}"name": "John","age": 30,"server": { "host": "localhost", "port": 8080 },"host": "localhost","port": 8080- プロパティ、フィールドと呼ばれる。
name,age,server,host,port- プロパティ、プロパティ名、フィールド、フィールド名、キー、キー名と呼ばれる。
server- セクションなどと呼ばれる。
- メンバー
- クラスやオブジェクトに属する要素全般(プロパティやメソッドを含む総称)。
この記事では「プロパティ」、「フィールド」、「セクション」、「キー」、「メンバー」の用語について、説明しました。今後のプログラミングや設定ファイルの作成に役立つと幸いです。