์ปฌ๋ ์ ์ฌ์ฉ
ํ์ต ๋ชฉํ
์ด ์ ๋์ ์๋ฃํ๋ฉด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- ๋ชฉ๋ก์ ์ ์ธํ๊ณ ์ด๊ธฐํํฉ๋๋ค.
- ๋ชฉ๋ก์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.
์ ๋ฌธ๊ฐ์๊ฒ์ ์ ์ฉํ ์ ๋ณด๋ฅผ ๋ฐฐ์ธ ์ ์๋ค๋ ์ฌ์ค์ ์๊ณ ๊ณ์ จ๋์? ์ด ๋น๋์ค๋ฅผ ์์ฒญํ์ฌ ์ด ๋ชจ๋์์ ๋ค๋ฃจ๋ ์ฃผ์ ๋ฅผ ์์ธํ ์์๋ณด์ธ์.
์ปฌ๋ ์
์ปฌ๋ ์ ์ ์ฌ๋ฌ ํญ๋ชฉ์ ์ ์ฅํ ์ ์๋ ๋ณ์ ์ ํ์ ๋๋ค. ์ฐจ์ ๊ดํ ์์๋ฅผ ๋ค์๋ฉด, ๋ด๋ถ์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์คํ์ด ๋ค์ด ์๋ ์คํ ๊ทธ๋ฆ์ด ์์ต๋๋ค. ์ด๋ ์คํ ๊ทธ๋ฆ์ ์ปฌ๋ ์ , ๊ฐ์คํ์ ํด๋น ์ปฌ๋ ์ ์ ์ ์ฅ๋๋ ํญ๋ชฉ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.

Apex ์ปฌ๋ ์ ์๋ ๋ชฉ๋ก, ์ธํธ ๋ฐ ๋งต์ด๋ผ๋ ์ธ ๊ฐ์ง ์ ํ์ด ์์ง๋ง ์ด ๋ชจ๋์์๋ ๋ชฉ๋ก์ ์ค์ ์ ๋ก๋๋ค.ย
๋ชฉ๋ก
Apex ๋ชฉ๋ก์ ์ผํ ๋ชฉ๋ก์ฒ๋ผ ๋์ผํ ์ ํ์ ํญ๋ชฉ์ด ์ ๋ ฌ๋ ๊ทธ๋ฃน์ ๋๋ค.
- ์ฐจ
- ์คํ
- ๊ฟ
- ์ฐ์
์ผํ ๋ชฉ๋ก์ ๊ฐ ํญ๋ชฉ์ ๋ฌธ์์ด์ด๋ฉฐ ๊ฐ ํญ๋ชฉ์ ๋ชฉ๋ก ๋ด ์์น๊ฐ ์์ต๋๋ค. ๋ชฉ๋ก์ ์ ์ธํ๋ ค๋ฉด ๋ช ๊ฐ์ง๊ฐ ํ์ํฉ๋๋ค. ๋ชฉ๋ก ์์ฝ์ด, <> ๋ฌธ์ ๋ด ๋ฐ์ดํฐ ํ์(๋ชจ๋ ํญ๋ชฉ์ ๋ฐ์ดํฐ ํ์์ด ๋์ผํด์ผ ํจ) ๋ฐ ์์ฝ์ด new๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ๋ฌธ์ฅ์ ๋์๋ ํ์ ๊ดํธ๊ฐ ์์ต๋๋ค.

๋น ๋ชฉ๋ก ์ ์ธ
- Developer Console์์ Debug(๋๋ฒ๊ทธ) | Open Execute Anonymous Window(์ต๋ช
์คํ ์ฐฝ ์ด๊ธฐ)๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ด ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ Enter Apex Code(Apex ์ฝ๋ ์
๋ ฅ) ์ฐฝ์ ๋ถ์ฌ ๋ฃ์ต๋๋ค.
//Declare the groceries list List<String> groceries = new List<String>(); //The output for this statement is an empty list, (). System.debug('Groceries Value: ' + groceries); -
Open log(๋ก๊ทธ ์ด๊ธฐ) ํ์ธ๋์ ์ ํํ๊ณ Execute(์คํ)๋ฅผ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Execution Log(์คํ ๋ก๊ทธ)๊ฐ ์ด๋ฆฌ๋ฉฐ ์ฝ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ํ์๋ฉ๋๋ค.
- ์ฐฝ ์๋์ ์๋ Debug Only(๋๋ฒ๊ทธ๋ง) ํ์ธ๋์ ์ ํํฉ๋๋ค.
์ฝ๋๋ฅผ ์คํํ ๋ ์ถ๋ ฅ์ด ()์ธ ๊ฒ์ ๋ณด์
จ์ ๊ฒ์
๋๋ค. ๋ชฉ๋ก์ ์๋ฌด๊ฒ๋ ์ถ๊ฐํ์ง ์์์ผ๋ฏ๋ก ์ถ๋ ฅ์ด ๋น์ด ์๋ ์ํ์
๋๋ค. groceries ๋ชฉ๋ก์ ์ ์ธํ ๋ ํญ๋ชฉ์ ์ถ๊ฐํ ์ ์๋ ํ๋์ ๋น ๊ณต๊ฐ์ ๋ง๋ค์์ต๋๋ค.

ํฌ๊ธฐ๊ฐ ์ค์ ๋ ๋ชฉ๋ก ์ ์ธ
๋ชฉ๋ก์ ๊ธธ์ด๋ฅผ ์ ํํ ์๊ณ ์๋ค๋ฉด ๋ชฉ๋ก์ ์ ์ธํ ๋ ํฌ๊ธฐ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ฐ์ดํฐ ํ์ ๋ค์ ์ค๋ ๊ดํธ([ ]) ์์ ํฌ๊ธฐ๋ฅผ ํฌํจํ๋ฉด ๋ฉ๋๋ค.

์ด ์ฝ๋๋ groceries๋ผ๋ ๋ฌธ์์ด ๋ชฉ๋ก์ ์ ์ธํ๊ณ ๊ทธ ํฌ๊ธฐ๋ฅผ 4๊ฐ์ ๋ฌธ์์ด๋ก ์ค์ ํฉ๋๋ค. ๋น groceries ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.

๊ฐ ํญ๋ชฉ์ ์์ฐจ์ ์์น๋ ์ธ๋ฑ์ค๋ผ๋ ์ซ์์ ๋๋ค. ์ธ๋ฑ์ค๋ ํญ๋ชฉ์ ์ฐธ์กฐํ๋ ๋ฐฉ์์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋๋ถ๋ถ ์ซ์ ์ธ๋ ๋ฒ์ ๋ฐฐ์ธ ๋ 1๋ถํฐ ๋ฐฐ์๋๋ค. ํ์ง๋ง ๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ ์ซ์๊ฐ 0๋ถํฐ ์์๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด์ Apex ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋ชฉ๋ก์ด ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ผ ๊ฒ์ ๋๋ค.
- ์ฐจ
- ์คํ
- ๊ฟ
- ์ฐ์
๋ชฉ๋ก์์ ํน์ ํญ๋ชฉ์ ๊ฐ๋ฆฌํค๋ ๋ฐ ์ฌ์ฉํ๋ ์ธ๋ฑ์ค๋ ์ฐจ์ ๊ฒฝ์ฐ ์ธ๋ฑ์ค 0, ์คํ์ ๊ฒฝ์ฐ ์ธ๋ฑ์ค 1, ๊ฟ์ ๊ฒฝ์ฐ ์ธ๋ฑ์ค 2๊ฐ ๋๋ ์์ ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ๋ชฉ๋ก์์ ํน์ ํญ๋ชฉ์ ์ธ๋ฑ์ค(๋ชฉ๋ก ๋ด ์์น)๋ก ์ฐธ์กฐํ๋ฉด ๋ฉ๋๋ค.

- Developer Console์์ Debug(๋๋ฒ๊ทธ) | Open Execute Anonymous Window(์ต๋ช
์คํ ์ฐฝ ์ด๊ธฐ)๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ด ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ Enter Apex Code(Apex ์ฝ๋ ์
๋ ฅ) ์ฐฝ์ ๋ถ์ฌ ๋ฃ์ต๋๋ค.
String[] groceries = new String[4]; System.debug('Initialized groceries: ' + groceries); System.debug('Item 0: ' + groceries[0]); -
Open log(๋ก๊ทธ ์ด๊ธฐ) ํ์ธ๋์ ์ ํํ๊ณ Execute(์คํ)๋ฅผ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Execution Log(์คํ ๋ก๊ทธ)๊ฐ ์ด๋ฆฌ๋ฉฐ ์ฝ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ํ์๋ฉ๋๋ค.
- ์ฐฝ ์๋์ ์๋ Debug Only(๋๋ฒ๊ทธ๋ง) ํ์ธ๋์ ์ ํํฉ๋๋ค.
๋ชฉ๋ก์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ ๊ฐ์ null์ ๋๋ค. ๋ชฉ๋ก์ ํญ๋ชฉ์ ๋ช ๊ฐ ๋ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
๋ชฉ๋ก ์ด๊ธฐํ
๋ชฉ๋ก ์ด๊ธฐํ๋ ๋ชฉ๋ก์ ์ด๊ธฐ ๊ฐ์ ํ ๋นํ๋ ๊ฒ์ ๋๋ค. ๋ชฉ๋ก์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง์ ๋๋ค.
- ๋ชฉ๋ก์ ์ ์ธํ๊ณ ์ด๊ธฐํํฉ๋๋ค.
//Sets the first item in the list to 'Tea' List<String> groceries = new List<String>{'Tea'};ย - ๋น ๋ชฉ๋ก์ ์ ์ธํ๊ณ ๋์ค์ ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
List<String> groceries = new List<String>(); groceries.add('Tea');
๋ชฉ๋ก ์ ์ธ ๋ฐ ์ด๊ธฐํ
๊ฐ์ ์ฌ์ฉํ์ฌ ๋ชฉ๋ก์ ์ด๊ธฐํํ๋ ๊ตฌ๋ฌธ์ ๋น ๋ชฉ๋ก์ ์ ์ธํ๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค. ์ฐจ์ด์ ์ ๊ดํธ( ( ) )๋ฅผ ์ฌ์ฉํ๋ ๋์ ์ค๊ดํธ( { } )๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ถ๊ฐํ๋ ๊ฒ์
๋๋ค.
- Developer Console์์ Debug(๋๋ฒ๊ทธ) | Open Execute Anonymous Window(์ต๋ช
์คํ ์ฐฝ ์ด๊ธฐ)๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ด ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ Enter Apex Code(Apex ์ฝ๋ ์
๋ ฅ) ์ฐฝ์ ๋ถ์ฌ ๋ฃ์ต๋๋ค.
//Declare the groceries list List<String> groceries = new List<String>{'Tea','Sugar','Honey','Milk'}; //The output for this statement is Tea, Sugar, Honey, Milk System.debug('Groceries: ' + groceries); -
Open log(๋ก๊ทธ ์ด๊ธฐ) ํ์ธ๋์ ์ ํํ๊ณ Execute(์คํ)๋ฅผ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Execution Log(์คํ ๋ก๊ทธ)๊ฐ ์ด๋ฆฌ๋ฉฐ ์ฝ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ํ์๋ฉ๋๋ค.
- ์ฐฝ ์๋์ ์๋ Debug Only(๋๋ฒ๊ทธ๋ง) ํ์ธ๋์ ์ ํํฉ๋๋ค.
๋น ๋ชฉ๋ก์ ์ ์ธํ๊ณ ๋์ค์ ๊ฐ ์ถ๊ฐ
ํ์ง๋ง ๋์ค์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? Apex๋ ๋ชฉ๋ก์ผ๋ก ์์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ถ๊ฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์๋ฃํ ํญ๋ชฉ์ groceries ๋ชฉ๋ก์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
- Developer Console์์ Debug(๋๋ฒ๊ทธ) | Open Execute Anonymous Window(์ต๋ช
์คํ ์ฐฝ ์ด๊ธฐ)๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ด ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ Enter Apex Code(Apex ์ฝ๋ ์
๋ ฅ) ์ฐฝ์ ๋ถ์ฌ ๋ฃ์ต๋๋ค.
//Create the groceries list List<String> groceries = new List<String>(); //The output for this statement is null System.debug('Groceries: ' + groceries); //Use the add method to add an element to the list groceries.add('Tea'); groceries.add('Sugar'); groceries.add('Honey'); groceries.add(2, 'Milk'); //The output for this statement is Tea, Sugar, Milk, Honey System.debug('Groceries: ' + groceries); -
Open log(๋ก๊ทธ ์ด๊ธฐ) ํ์ธ๋์ ์ ํํ๊ณ Execute(์คํ)๋ฅผ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Execution Log(์คํ ๋ก๊ทธ)๊ฐ ์ด๋ฆฌ๋ฉฐ ์ฝ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ํ์๋ฉ๋๋ค.
- ์ฐฝ ์๋์ ์๋ Debug Only(๋๋ฒ๊ทธ๋ง) ํ์ธ๋์ ์ ํํฉ๋๋ค.
์ ('.')์ด groceries์ add ์ฌ์ด์ ์๋ ๊ฒ์ ๋ณด์
จ๋์? Apex๋ ์ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ์ ํ๊ธฐ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง ์ฉ๋๋ก ์ฌ์ฉ๋ฉ๋๋ค. 6๋ฒ ์ค์์ Apex๊ฐ ์ ๊ณตํ๋ add ๋ฉ์๋๋ฅผ ์ ์ผ๋ก groceries ๋ชฉ๋ก์ ์ฐ๊ฒฐํ์ฌ ํญ๋ชฉ(Tea)์ ๋ชฉ๋ก์ ์ถ๊ฐํฉ๋๋ค.
9๋ฒ ์ค์ ํน์ ์ธ๋ฑ์ค(์์น)์ ํญ๋ชฉ์ ์ฝ์ ํ์ฌ ๋ชฉ๋ก์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ์ค๋๋ค.ย


Apex ์ฝ๋๋ก ์์ ํ๋ค ๋ณด๋ฉด ์ด๋ค ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ง ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ์ด ์ ๋์์ ๊ธฐ๋ณธ ์ฌํญ์ ๋ฐฐ์ฐ๋ฉด ์์ํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
๋ชฉ๋ก ์ดํด
๋ชฉ๋ก์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ๋ง๋ค ์ฝ๊ฐ์ฉ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉฐ, ๋๋ก๋ ์์์น ๋ชปํ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ๊ธฐ๋ ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ตํด ๋ณด์ธ์.
- Developer Console์์ Debug(๋๋ฒ๊ทธ) | Open Execute Anonymous Window(์ต๋ช
์คํ ์ฐฝ ์ด๊ธฐ)๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ด ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ Enter Apex Code(Apex ์ฝ๋ ์
๋ ฅ) ์ฐฝ์ ๋ถ์ฌ ๋ฃ์ต๋๋ค.
String[] groceries = new String[4]; System.debug('Groceries: ' + groceries); groceries.add('Tea'); groceries.add('Sugar'); System.debug('Added 2 items: ' + groceries); groceries.add(1, 'Honey'); System.debug('Added Honey in index 1: ' + groceries); System.debug('Item 0: ' + groceries[0]); -
Open log(๋ก๊ทธ ์ด๊ธฐ) ํ์ธ๋์ ์ ํํ๊ณ Execute(์คํ)๋ฅผ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Execution Log(์คํ ๋ก๊ทธ)๊ฐ ์ด๋ฆฌ๋ฉฐ ์ฝ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ํ์๋ฉ๋๋ค.
- ์ฐฝ ์๋์ ์๋ Debug Only(๋๋ฒ๊ทธ๋ง) ํ์ธ๋์ ์ ํํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ํฅ๋ฏธ๋ก์ด ๊ฒฐ๊ณผ๋ฅผ ์ป์์ต๋๋ค.


์ค 4์ 5์ ๋ ๊ฐ์ ๋ฌธ์์ด์ ์ถ๊ฐํ ๋ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ์ง ์์๊ธฐ ๋๋ฌธ์, ๋ชฉ๋ก ๋์ Tea์ Sugar๊ฐ ์ถ๊ฐ๋์ด ๋ชฉ๋ก ํฌ๊ธฐ๊ฐ 4๊ฐ์ ๋ฌธ์์ด์์ 6๊ฐ์ ๋ฌธ์์ด๋ก ๋์ด๋ฌ์ต๋๋ค. ์ค 8์์ ๋ช
์์ ์ผ๋ก Honey์ ๋ํด ์ธ๋ฑ์ค 1์ ์ง์ ํ๋๋ฐ ์ Honey๊ฐ ๋ชฉ๋ก์ ์ฒซ ๋ฒ์งธ์ ์์ง ์์๊น์? ํ๋ก๊ทธ๋๋ฐ์์๋ ํญ์ 1์ด ์๋ 0๋ถํฐ ์ธ๊ธฐ ์์ํ๋ค๋ ์ ์ ๊ธฐ์ตํ์ธ์. ์ค 11์์ ๋ชฉ๋ก์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค๋ 0์ผ๋ก, ํ์ฌ null ๊ฐ์ ํฌํจํ๊ณ ์์ต๋๋ค.
์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ํ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ๊ณผ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ๋ฐฉ์ ์์ ํ๋์ด์ง๋ง ํธ๋ ๋ฐฉ๋ฒ์ ๋งค์ฐ ๋ค์ํฉ๋๋ค. ์ด ์ ๋์์๋ Apex์์ ๋ชฉ๋ก์ผ๋ก ์์ ํ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๋ค๋ ์ ์ ์์์ต๋๋ค. ๋ชฉ๋ก์ ์ ์ธํ๊ฑฐ๋ ์ด๊ธฐํํ๋ , ๋ชฉ๋ก์ ํน์ ๊ฐ์ ์ฐธ์กฐํ๋ ์ฌ๋ฌ๋ถ์ ์ ํ์ ๋ฌ๋ ค ์์ต๋๋ค. ์ต์ ์ด ๋๋ฌด ๋ง๋ค๊ณ ๋๊ปด์ง๋์? ๊ฑฑ์ ํ์ง ๋ง์ธ์. Apex์ ๋ ์ต์ํด์ง๋ฉด ๋ค์ํ ๋ฐฉ๋ฒ์ ์๋ํด ๋ณด์ธ์. ์ด๋ค ์ํฉ์ ์ด๋ค ๋ฐฉ๋ฒ์ด ๊ฐ์ฅ ์ ํฉํ์ง๋ฅผ ๋ ์ ์ดํดํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
๋ฆฌ์์ค
- Apex ๊ฐ๋ฐ์ ๊ฐ์ด๋: ๋ชฉ๋ก
- Apex ๊ฐ๋ฐ์ ๊ฐ์ด๋: ์ปฌ๋ ์
- Apex ๊ฐ๋ฐ์ ๊ฐ์ด๋: ์์ฝ์ด
- Apex ๊ฐ๋ฐ์ ๊ฐ์ด๋: ํํ์ ์ฐ์ฐ์
