어느 Salesforce Developer의 개발 성장기

Apex Programming Language는 C#, Java와 비슷하다. 본문

Salesforce/Learning concept

Apex Programming Language는 C#, Java와 비슷하다.

Developer_Foryou 2020. 3. 10. 23:41

Apex는 객체지향언어로 Lightning Platform에서 저장되고, 컴파일되며, 실행된다.

 

Data Type: 모든 변수는 기본적으로 null로 초기화된다.

 - Integer

 - Double

 - Long

 - Date

 - Datetime

 - String

 - Boolean

 - ID

 

Collection: List, Set, Map를 사용한다.

 

List

List<String> myStrings = new List<String>();
  • Apex에서 List는 배열과 거의 동일하게 작동하며, 서로 바꿔서 사용할 수 있다.
String[] myStrings = new List<String>();
  • add() 함수:
List<String> myStrings = new List<String> {'String1', 'String2', 'String3' };
List<String> myStrings = new List<String>();
myStrings.add('String1');
myStrings.add('String2');
myStrings.add('String3');
  • SOQL: Database의 SQL문과 같이 Query를 받을 때, List를 주로 사용한다.
List<Account> myAccounts = [SELECT Id, Name FROM Account];
  • 인덱스는 0부터 시작한다.
List<Account> myAccounts = [SELECT Id, Name FROM Account];
String firstAccount = myAccounts[0].Name;

 

Set

  • 중복을 포함하지 않은 요소의 정렬되지 않은 컬렉션
  • ID값은 항상 고유하기 때문에 집합은 일반적으로 ID값을 저장할 때 사용하며, SOQL Query에서 WHERE 절의 일부로 사용한다.
Set<ID> accountIds = new Set<ID>{'001d000000BOaHSAA1','001d000000BOaHTAA1'};
List<Account> accounts = [SELECT Name FROM Account WHERE Id IN :accountIds];  

 

Map

  • (Key, Value) 쌍의 모음
  • 각 Key는 단일값으로 매핑한다.
Map<Id, Account> accountMap = new Map<Id, Account>([SELECT Id, Name FROM Account]);
  • get(Key): Map에 저장된 Key에 해당하는 Value를 가져온다.
Id accId = '001d000000BOaHSAA1'; Account account = accountMap.get(accId);
  • put(Key, Value): Map에 Key에 해당하는 Value를 저장한다.
Account acct = new Account();
acct.Id = '001d000000BOaHSAA1';
acct.Name = '삽입될 계정';

Map<Id, Account> accountMap = new Map<Id, Account>();
accountMap.put(acct.Id, acct);

 

Comments