본문 바로가기

Salesforce

Apex 핵심 개념 이해 (Apex - 2)

Apex 코드에는 일반적으로 다른 프로그래밍 언어에서도 익숙한 많은 항목들이 포함되어 있다.

Apex의 프로그래밍 요소

 

버전 설정

 

변수, 메소드 및 클래스 이름 지정

Apex에도 예약 키워드가 있기 때문에 변수, 메서드, 클래스 등 이름을 지정할 때 사용할 수 없는 단어들이 있음

Apex 예약어 리스트

 

변수 및 표현식 사용

Apex는 Strong 타입의 언어로, 변수를 처음 참조할 때 변수의 데이터 유형을 선언해야한다.

Apex의 데이터 유형에는

  • Intger
  • Date
  • Boolean
  • List
  • Maps
  • Object, sObjects

등이 있다.

변수는 이름과 데이터 유형으로 선언되는데, 변수를 선언할 때 변수에 값을 할당하거나, 나중에 할당할 수도 있다.

 

변수선언 예시

// The following variable has the data type of Integer with the name Count, 
// and has the value of 0.
Integer Count = 0;
// The following variable has the data type of Decimal with the name Total. Note 
// that no value has been assigned to it.
Decimal Total;
// The following variable is an account, which is also referred to as an sObject.
Account MyAcct = new Account();

 

Apex에선 Integer, String같은 모든 primitive data type의 인수가 값별로 메소드에 전달된다. 이 사실은 인수에 대한 모든 변경사항은 메서드 범위 내에서만 존재한다는것을 의미하고, 메서드가 반환되면 인수에 대한 변경 사항이 손실된다.

 

sObject 같은 비기본 데이터 유형 인수는 참조로 메소드에 전달되므로 메서드가 반환될 때 전달된 인수는 여전히 메서드 호출 전과 동일한 개체를 참조한다. 따라서 메서드 내에서 다른 개체를 가리키도록 참조를 변경할 수는 없지만 개체 필드의 값을 변경할 수 있다.

 

Statements 사용

Apex에서 문장은 세미콜론(;)으로 끝나야 하며 다음과 같은 유형들이 있다.

  • 변수
  • 조건문
  • 반복문
    • Do-while
    • While
    • For
  • Locking
  • DML(데이터 조작 언어)
  • Transaction Control
  • 메소드 호출
  • 예외 처리

Collections 사용

Apex에는 다음과 같은 Collection들이 있다.

  • Lists(arrays)
  • Maps
  • Sets

Collections의 선언 방법은 Java에서 선언하던것과 같다.

if 사용

java와 같다.

Loops 사용

Apex에서 지원하는 반복문은

  • Do-while
  • While
  • For

이렇게 지원을 하고

Do-while 반복문은 코드가 실행된 후 조건 확인

While 루프는 코드가 실행되기 전 조건 확인

For 반복문은 조건을 더 세밀하게 제어할 수 있고 기존의 for문 뿐만이 아니라, List 및 SOQL 쿼리를 조건의 일부로 사용하는 For 루프도 지원한다.