Memos About Salesforce

Salesforceにハマってたこと!

SFDC 動的/静的 メソッド

クラス実装際に

意識しないうち、動的と静的メソッド

を混ざってるクラスを書く新卒がいる

今回、動的メソッドと静的メソッドについて

自分の理解を共有します。

欲しけりゃくれてやる・・・。

探せ!

この世の全てをそこに置いてきた〜笑

目次

静的メソッド

静的メソッドは人ごとに言うと

直接コールできる感覚

サンプルクラス
public with sharing class InstanceMethod {
    public InstanceMethod(){
        
    }
    
    public void processSth(){
        String varA = 'my test';
    }
}
コール例
    // クラスをインスタンス化
    InstanceMethod classInstance = new InstanceMethod();
    // メソッドコール
    classInstance.processSth();

動的メソッド

インスタンス化してから、コールするものの感覚

サンプルクラス
public with sharing class StaticClass {
    public static void process(){
        String test = 'My setting';
    }
}
コール例
    //メソッドコール
    StaticClass.process();

まとめ

staticのついているメソッドは

クラス名+『.』+メソッド名でコールできる

つまり、クラス名とメソッド名を直接ドット表記でアクセス

できる。

Staticのついていないメソッドのコールは

一旦、クラスをインスタンス化してから、

インスタンス変数とクラス名をドット表記でアクセス