어느 Salesforce Developer의 개발 성장기

Salesforce Apex - sObject란? 본문

Salesforce/Learning concept

Salesforce Apex - sObject란?

Developer_Foryou 2020. 3. 12. 02:31
  • sObjects는 Salesforce의 개체를 선언하는 생성자이다.
Account acct = new Account();
Account acct = new Account(Name='Acme');
Account acct = new Account(Name='Acme', Phone='(415)555-1212', NumberOfEmployees=100);
  • sObjects과 Field는 필드 이름(API Name으로 호출한다.

Book book = new Book__c(Name='Workbook 1', ISBN__c='978-89-93635-85-0');
  • Generic sObject (parent of all sObject): Generic sObject는 모든 개체를 상속 받는다.
    • ex) 계정(Account) 개체와 책(Book__c)라는 개체가 있다고 가정해보자.
      이 때 sObject 변수를 선언하면 계정 개체와 책 개체로 선언할 수 있다.
sObject sobj1 = new Account(Name='Trailhead');
sObject sobj2 = new Book__c(Name='Workbook 1');

  • 주의: 개체는 다른 개체로 형변환할 수 없다.
    • ex) 계정(Account)개체는 책(Book__c)개체가 될 수 없다.
//     잘못된 표현 (Error를 발생시킴)
Account book = new Book__c(Name='Workbook 2');
  • Generic sObject는 해당하는 개체로 Casting이 가능하다.
    • ex) Accout를 가리키는 sObject인경우,
// Cast a generic sObject to an Account
Account acct = (Account) myGenericSObject;
// Now, you can use the dot notation to access fields on Account
String name = acct.Name;
String phone = acct.Phone;
  • Casting의 장점 : acct.Name과 같이 .을 활용하여 개체의 필드값을 사용할 수 있게 한다.
    (일반 sObject에서는 점 표기법 사용하여 필드에 접근 불가능하다. / get(), put() 메서드 필요)
Comments