Developer Console 연습
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 일반적인 데이터 형식을 나열합니다.
- 변수를 선언합니다.
- 디버그 문을 구성하고 그 결과를 이해합니다.
- 구문을 정의합니다.
지난 유닛에서는 코드, 의사 코드 및 코드 주석에 대해 알아보았습니다. 코드를 읽고 쓰는 방법을 알고 싶다면 무엇보다 직접 해 보는 것이 가장 좋습니다. 그럼 시작해 보겠습니다.
변수
변수는 데이터가 포함된 컨테이너라고 생각하면 됩니다. 무엇이 포함되어 있는지 설명하는 이름을 지정할 수 있습니다. 실제로 고유한 이름을 사용하여 레이블을 지정하고 컨테이너에 데이터를 추가할 수 있습니다. 원하는 모든 데이터가 컨테이너에 포함되면 여러분이 필요로 할 때까지 보관할 수 있습니다.
변수는 임시 필드와도 유사합니다. 필드와 마찬가지로 각 변수에는 이름과 데이터 형식이 있습니다. 코드가 실행될 때 변수 이름은 코드를 해석하는 시스템인 컴파일러에 있어 중요한 항목이 아닙니다. 그러나 유의미한 변수 이름을 지정해 두면, 개발자가 코드를 업데이트하거나 수정하려고 할 때 각 변수의 용도를 더 빠르게 이해할 수 있습니다. 다음 예시를 고려해 보세요.
String f = 'Melissa';
f라는 이름이 붙은 변수의 용도는 명확하지 않습니다. 모범 사례는 명확하면서도 용도를 설명하는 변수 이름을 선택하는 것입니다. 예를 들면 다음과 같습니다.
String firstName = 'Melissa';
이름은 변수가 무엇을 나타내는지를 설명하는 한편, 데이터 형식은 변수가 포함할 수 있는 내용을 정의합니다.
일반 데이터 형식
데이터 형식 | 설명 및 예시 |
---|---|
정수 | 소수점 자리 수가 없는 양수 또는 음수. Integer num = 12;
|
소수점 | 소수점 자리 수가 있는 양수 또는 음수. Decimal num = 12.22222;
|
문자열 | 작은따옴표로 묶인 여러 문자. 여기에는 하나의 문자부터 여러 문장까지 어떤 텍스트든 포함될 수 있습니다. String whatAmI = 'A String';
|
부울 | 일반적으로 참 또는 거짓으로 나뉩니다. Apex에서는 null (empty) 또한 유효한 값입니다. 부울은 확인란과 함께 사용되는 경우가 많습니다. Boolean doSomething = False;
|
ID(Salesforce ID) | 유효한 18자로 구성된 Salesforce 레코드 ID. Id contactId = '00300000003T2PGAA0';
|
Apex는 강타입 언어입니다. 따라서 변수를 선언(생성)할 때마다 데이터 형식, 이름, 그리고 선택적으로는 최초 값까지 설정하게 됩니다.
이 예시에서 Integer는 데이터 형식, i는 변수 이름, 2는 변수의 초기 값입니다. 변수 이름은 원하는 대로 지정할 수 있습니다. 모범 사례는 다른 개발자가 코드를 쉽게 읽고 이해할 수 있도록 변수의 용도를 명확하게 전달하는 이름을 사용하는 것입니다.
변수를 초기화(초기 값 할당)할 때 할당하는 값은 변수의 데이터 형식과 일치해야 합니다. 변수 선언문 내에서 값을 할당하지 않도록 선택하면 변수 값은 null이 됩니다.
변수를 선언해 보겠습니다.
- Developer Console에서 Debug(디버그) | Open Execute Anonymous Window(익명 실행 창 열기)를 클릭합니다.
- 이 코드를 복사하여 Enter Apex Code(Apex 코드 입력) 창에 붙여 넣습니다.
Integer numberOfSpoons; System.debug(numberOfSpoons);
System.debug
는 디버그 로그에 괄호의 내용을 표시합니다. -
Open log(로그 열기) 확인란을 선택하고 Execute(실행)를 클릭합니다.
그러면 Execution Log(실행 로그)가 열리며 코드 실행 결과가 표시됩니다.
- 창 아래에 있는 Debug Only(디버그만) 확인란을 선택합니다.
이제 Details(세부 사항) 열에는
System.debug
출력만 표시됩니다.- 실행된 코드에서
System.debug
가 있는 줄 번호는 2입니다. - 로깅 수준은 DEBUG입니다.
- numberOfSpoons 변수의 값은 null입니다.
- 실행된 코드에서
System.debug
작동하지 않는 코드를 작성한다고 상상해 보세요. 주변에 물어볼 사람은 없어도, 노트북을 창밖으로 던져 버리기 전에 Google 검색 한 번이면 충분합니다. 누구에게나 일어날 수 있는 일입니다. System.debug
로 문제를 해결하세요.
특정 변수 값이 변경될 때마다 알림을 받을 수 있다면 좋지 않을까요? System.debug 문은 이러한 유형의 알림을 제공합니다. 개발자는 System.debug를 사용하여 코드의 문제 지점을 정확히 찾아내기 위해 변화하는 값을 모니터링합니다.
- Developer Console에서 Debug(디버그) | Open Execute Anonymous Window(익명 실행 창 열기)를 클릭합니다.
- 이 코드를 복사하고 Enter Apex Code(Apex 코드 입력) 창의 기존 코드를 이 코드로 바꿉니다.
Integer numberOfSpoons; System.debug(numberOfSpoons); numberOfSpoons = 1; System.debug(numberOfSpoons);
- Open log(로그 열기) 확인란을 선택하고 Execute(실행)를 클릭합니다. 그러면 Execution Log(실행 로그)가 열리며 코드 실행 결과가 표시됩니다.
- 창 아래에 있는 Debug Only(디버그만) 확인란을 선택합니다. 흥미로운 점을 찾으셨나요? 줄 2와 줄 5는 동일한 코드 줄이지만 로그에서 다른 값을 생성합니다. 이는 변수 값이 언제든지 바뀔 수 있기 때문입니다.
여기서는 코드의 두 지점에 numberOfSpoons가 있는 간단한 예시로 작업하고 있습니다. 50줄의 코드를 실행하고 5개의 변수를 모니터링하는 경우, 로그 세부 정보에서 각 변수의 이름과 해당 값을 확인하려고 할 수 있습니다.
개발자는 연결을 사용하여 리터럴 텍스트와 변수 값을 + 기호로 연결합니다. 디버그 문에서 정보를 연결하면 디버그 로그를 더 쉽게 읽고 이해할 수 있습니다.
두 개의 디버그 문에 numberOfSpoons 변수의 이름과 해당 값을 포함해 보겠습니다.
- Developer Console에서 Debug(디버그) | Open Execute Anonymous Window(익명 실행 창 열기)를 클릭합니다.
- 이 코드를 복사하여 Enter Apex Code(Apex 코드 입력) 창에 붙여 넣습니다.
Integer numberOfSpoons; System.debug('The variable numberOfSpoons is: ' + numberOfSpoons); numberOfSpoons = 1; System.debug('The variable numberOfSpoons is: ' + numberOfSpoons);
- Open log(로그 열기) 확인란을 선택하고 Execute(실행)를 클릭합니다. 그러면 Execution Log(실행 로그)가 열리며 코드 실행 결과가 표시됩니다.
- 창 아래에 있는 Debug Only(디버그만) 확인란을 선택합니다.
이제 null과 1이라는 두 값이 numberOfSpoons 변수의 값임을 확실히 알 수 있습니다.
구문
코드 구조화에 대한 이 코드 샘플에서 무엇을 발견하셨나요? 텍스트와 구두점을 배열하여 프로그래밍 언어를 만드는 방식을 구문이라고 합니다. 다음은 Apex 코드에 대한 몇 가지 구문 규칙입니다.
- 여러분이 가장 먼저 눈치채셨을 수도 있는 점은 Apex 문이 세미콜론으로 끝난다는 것입니다.
String whatTimeIsIt;
세미콜론은 마침표가 일반적인 문장을 끝내는 것과 같은 방식으로 Apex 문을 끝냅니다. 문 끝에 세미콜론을 입력하지 않은 경우 오류 메시지가 표시됩니다. - Apex 문자열은 작은따옴표를 사용하여 리터럴 텍스트를 주변의 다른 코드와 구분합니다. 숫자와 부울(참 또는 거짓) 값에는 따옴표가 필요하지 않습니다.
String whatTimeIsIt = 'It is Tea Time!'; Integer sugarCount = 2; Boolean needsSugar = false;
지금까지 변수, 데이터 형식 및 구문이 무엇인지 알아보았습니다. 변수를 선언하고 변수에 값을 할당하는 방법을 파악했습니다. 또한 직접 디버그 문을 작성하고 디버그 로그에서 검토하는 연습도 해 보았습니다. 잘하셨습니다!