【Salesforce 認定Platformデベロッパー】試験対策:第52問

問題

Apexクラスとインターフェースに関して、次のうち正しいステートメントはどれでしょうか。3つ選択してください。

  • クラスはデフォルトでfinalです。
  • インターフェースのメソッドはデフォルトでpublicです。
  • 内部クラスはデフォルトでprivateです。
  • 最上位クラスは1つの内部クラスレベルのみを持つことができます。

正解

  • クラスはデフォルトでfinalです。
  • インターフェースのメソッドはデフォルトでpublicです。
  • 内部クラスはデフォルトでprivateです。
  • 最上位クラスは1つの内部クラスレベルのみを持つことができます。

解説

この問題を解くためには、以下の知識が必要です。

  • Apexの基本的な文法と概念:ApexはSalesforceのプラットフォーム上で動作するオブジェクト指向のプログラミング言語です。そのため、オブジェクト指向プログラミングの基本的な概念を理解している必要があります。
  • アクセス修飾子に関する知識:Apexにおけるprivatepublicprotectedglobalなどのアクセス修飾子の違いと使用方法を理解している必要があります。
  • インターフェースとクラスの違い:クラスとインターフェースの基本的な違い、特にApexにおけるインターフェースの振る舞いや制約を理解している必要があります。
  • 内部クラスに関する知識:Apexの内部クラスの概念、使用方法、および制約を理解している必要があります。
  • 公式文書の理解:SalesforceやApexの公式文書やドキュメンテーションを読み解く能力も求められます。公式文書はApexの動作や制約に関する正確な情報を提供しているため、この問題のように細かい点について問われる場合、公式文書を頼りにすることが多いです。

それぞれの選択肢の理由について説明します。

□ クラスはデフォルトでfinalです。
これは正解です。Apexのメソッドおよびクラスはデフォルトでfinalです。これは、メソッドやクラスが上書きされるのを防ぐためのデフォルトの動作です。メソッドまたはクラスを上書きする場合、virtualキーワードを使用して明示的に上書きを許可する必要があります。
参考:final キーワードの使用

□ インターフェースのメソッドはデフォルトでpublicです。
これは不正解です。Apexのインターフェース内のメソッドは、アクセス修飾子を指定せずに定義され、自動的にグローバルとなります。したがって、「デフォルトでpublic」という表現は不正確で、「デフォルトでglobal」が正しいです。
参考:アクセス修飾子

□ 内部クラスはデフォルトでprivateです。
これは正解です。Apexでは、内部クラスはデフォルトでprivateとなります。これは、アクセス修飾子を明示的に指定しない限り、内部クラスはそれを含むクラスからしかアクセスできないことを意味します。
参考:Apex クラス定義

□ 最上位クラスは1つの内部クラスレベルのみを持つことができます。
これは正解です。Apexでは、内部クラスは一つのレベル深さしか持つことができません。つまり、内部クラス内にさらに内部クラスを定義することはできません。
参考:Apex クラス定義

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

コメント

コメントする

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約が適用されます。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次