Salesforce Aura Component 기초 교육: 입문자를 위한 완벽 A to Z 가이드 (2025년 최신)
본 가이드는 Salesforce UI 개발의 핵심인 Aura Component의 A to Z를 다루는 완벽한 입문서입니다. Aura Component의 기본 개념과 LWC와의 관계를 명확히 이해하고, 개발 환경 설정부터 컴포넌트 번들 구조 분석, 그리고 직접 ‘Hello World’ 예제를 만들어보는 실습까지 단계별로 안내합니다. 이 글을 통해 여러분은 Aura Component의 작동 원리를 체득하고, 다음 단계인 LWC 학습을 위한 견고한 발판을 마련하게 될 것입니다.
목차
- 1. 도입 (Introduction): Salesforce 개발의 첫걸음, Aura Component를 만나다
- 2. 왜 2025년에도 Aura Component를 알아야 할까? (Aura와 LWC의 관계)
- 3. Aura Component 개발 시작을 위한 필수 준비물
- 4. Aura Component의 핵심 구조: Component Bundle 파헤치기
- 5. 실전! 나의 첫 Aura Component 만들기 (Salesforce Aura Component 튜토리얼)
- 6. 다음 스텝을 위한 학습 로드맵
- 7. 결론: Aura는 당신의 훌륭한 Salesforce 개발 여정의 시작입니다
- 자주 묻는 질문 (FAQ)
1. 도입 (Introduction): Salesforce 개발의 첫걸음, Aura Component를 만나다
Salesforce라는 강력한 플랫폼 위에서 나만의 맞춤형 기능을 구현하고 싶으신가요? 고객 관리 화면에 동적인 버튼을 추가하거나, 복잡한 데이터를 시각적으로 표현하는 등 상상 속 아이디어를 현실로 만들고 싶다면, 바로 이곳에서 그 첫걸음을 시작할 수 있습니다. 이 글은 여러분의 개발 여정을 안내할 완벽한 Salesforce Aura Component 기초 교육 가이드입니다. Salesforce UI 개발의 핵심을 이해하고 직접 컴포넌트를 만들어보는 경험까지, A부터 Z까지 모든 것을 담았습니다.
Aura Component는 Salesforce의 최신 사용자 인터페이스인 Lightning Experience와 Salesforce 모바일 앱을 위한 재사용 가능한 UI(User Interface) 구성 요소입니다. 이벤트 기반 아키텍처를 사용하여 사용자와의 상호작용을 동적으로 처리하는 강력한 프레임워크이죠. 이 글은 단순한 이론서가 아닌, 실질적인 `Salesforce 플랫폼 사용자 교육`을 목표로 합니다.
이 글을 끝까지 읽으시면 다음과 같은 확실한 결과물을 얻게 됩니다.
- Aura Component가 무엇이고 왜 여전히 중요한지 명확히 이해하게 됩니다.
- Aura Component를 구성하는 핵심 파일(Component Bundle)의 역할을 알게 됩니다.
- 단계별 `Salesforce Aura Component 튜토리얼`을 통해 직접 동작하는 컴포넌트를 만들어보는 실질적인 경험을 얻게 됩니다.
- 앞으로 무엇을 더 공부해야 할지 명확한 학습 로드맵을 갖게 됩니다.
특히, ‘요즘은 LWC(Lightning Web Components)가 대세라던데, 왜 Aura를 먼저 배워야 할까?’라는 질문에 대한 명쾌한 답변을 준비했으니 끝까지 함께해주세요.

2. 왜 2025년에도 Aura Component를 알아야 할까? (Aura와 LWC의 관계)
Aura Component는 2014년 Salesforce가 Lightning Experience를 발표하며 함께 선보인 혁신적인 UI 프레임워크입니다. 기존의 Visualforce 페이지보다 훨씬 동적이고 반응성이 뛰어난 사용자 경험을 제공하며 Salesforce UI 개발의 패러다임을 바꾸었습니다. `Aura Component 기본 개념 설명`에서 이 역사적 의의는 매우 중요합니다.
물론, 현재 Salesforce UI 개발의 공식적인 표준은 웹 표준 기술(HTML, CSS, JavaScript)에 더 가까운 LWC(Lightning Web Components)입니다. 성능이 더 뛰어나고 현대적인 개발 방식에 부합하기 때문입니다. 그렇다면 왜 우리는 2025년에도 Aura를 배워야 할까요? 이유는 명확합니다.
- 기존 시스템 유지보수: 전 세계 수많은 Salesforce 조직에는 이미 수백, 수천 개의 Aura Component로 구축된 핵심 기능들이 활발하게 운영되고 있습니다. 기존 CRM 시스템을 유지보수하거나 확장하기 위해서는 Aura에 대한 이해가 필수적입니다.
- 기술적 토대 이해: LWC는 Aura의 개발 경험과 철학을 바탕으로 만들어졌습니다. Aura의 데이터 바인딩, 이벤트 처리 방식 등 핵심 개념을 이해하면 LWC의 구조를 훨씬 더 깊이 있게 파악할 수 있습니다. 즉, Aura는 LWC로 가는 훌륭한 디딤돌입니다.
- Aura와 LWC의 공존: 가장 중요한 점은, 하나의 Lightning 페이지 안에서 Aura Component와 LWC가 함께 사용될 수 있다는 것입니다. Salesforce의 공식 문서에 따르면, Aura 컨테이너 안에 LWC를 넣거나 그 반대도 가능합니다. 따라서 원활한 `Salesforce 플랫폼 사용자 교육`과 실무 적응을 위해서는 두 기술을 모두 이해하는 것이 중요합니다.
결론적으로 Aura는 과거의 유물이 아닌, 현재 진행형 시스템을 이해하고 미래 기술로 나아가기 위해 반드시 알아야 할 핵심 지식입니다.

3. Aura Component 개발 시작을 위한 필수 준비물
본격적인 실습에 앞서, 우리의 놀이터가 될 개발 환경과 기본적인 준비물을 챙겨야 합니다. 이 `Salesforce Aura Component 입문 강의`는 비전공자나 입문자도 쉽게 따라올 수 있도록 모든 준비 과정을 상세히 안내합니다.
1. Salesforce 개발 환경 (Developer Edition Org)
Salesforce는 모든 개발자에게 실제 Salesforce 환경과 동일한 기능을 제공하는 Developer Edition(DE) Org를 무료로 제공합니다. 이곳이 바로 우리가 컴포넌트를 만들고 테스트할 놀이터입니다. 아직 계정이 없다면 Salesforce Developers 가입 페이지를 통해 지금 바로 가입하세요. 몇 분이면 충분합니다.
2. 기초 기술 스택 (선수 지식)
Aura Component 개발을 위해서는 기본적인 웹 기술에 대한 이해가 필요합니다. 아래 지식들을 미리 가볍게 훑어보시면 학습 효과가 배가 될 것입니다.
기술 스택 | 필요 수준 | 역할 |
HTML | `<div>`, `<p>`, `<button>` 태그가 무엇인지 아는 수준 | 컴포넌트의 구조(뼈대)를 정의합니다. |
CSS | 선택자, 속성에 대한 기본 지식 | 컴포넌트의 스타일(디자인)을 꾸밉니다. |
JavaScript | 변수, 함수, 객체에 대한 기본 개념 | 사용자의 행동에 반응하는 로직을 작성합니다. |
Apex | (선택 사항) 기본 개념 | Salesforce 데이터베이스와 통신 시 필요합니다. 이번 튜토리얼에서는 사용하지 않습니다. |
3. 개발 도구
Salesforce는 두 가지 주요 개발 도구를 제공합니다. 각 도구의 특징을 파악하고 이번 실습에 사용할 도구를 확인하세요.
- Developer Console: 웹 브라우저에서 바로 코드를 작성하고 테스트할 수 있는 기본 도구입니다. 설치가 필요 없어 입문자에게 가장 접근성이 좋습니다. (이번 튜토리얼에서 사용)
- Visual Studio Code + Salesforce Extension Pack: 현업 개발자들이 가장 선호하는 강력한 로컬 개발 환경입니다. 초기 설정이 필요하지만, 코드 자동 완성, 디버깅 등 막강한 기능을 제공합니다.

4. Aura Component의 핵심 구조: Component Bundle 파헤치기
Aura Component는 하나의 파일이 아니라, 관련된 코드와 리소스들의 묶음인 ‘번들(Bundle)’ 형태로 관리됩니다. 마치 하나의 요리를 위한 재료들이 모여있는 ‘밀키트’와 같습니다. `Aura Component 기본 개념 설명`의 핵심은 바로 이 번들을 이해하는 것입니다. 각 파일이 어떤 역할을 하는지 표를 통해 명확하게 알아보겠습니다.
파일명 (확장자) | 역할 | 비유 (밀키트) |
Component (.cmp) | 컴포넌트의 UI 구조를 정의하는 핵심 마크업 파일입니다. | 완성된 요리 사진 (Recipe Card) |
Controller (.js) | 사용자의 액션(버튼 클릭 등)에 직접 반응하는 JavaScript 코드입니다. | 메인 조리 순서 (Main Steps) |
Helper (.js) | Controller의 로직을 재사용 가능하게 돕는 JavaScript 파일입니다. | 재료 손질법 등 공통 팁 (Pro Tips) |
Style (.css) | 해당 컴포넌트에만 적용되는 CSS 스타일을 정의합니다. | 플레이팅 가이드 (Plating Guide) |
Design (.design) | 관리자가 코딩 없이 UI에서 컴포넌트 속성을 설정하게 해줍니다. | 옵션 선택지 (e.g., 맵기 조절) |
Renderer (.js) | 컴포넌트의 렌더링 생명주기를 제어합니다. (입문 단계에서는 거의 사용 안 함) | 조리 도구 사용법 (Advanced) |
Documentation (.auradoc) | 컴포넌트의 사용법, 예시 등을 기록하는 문서 파일입니다. | 요리 배경 스토리 (Documentation) |
SVG (.svg) | App Builder 등에서 표시될 커스텀 아이콘을 지정합니다. | 요리 아이콘 (Icon) |
입문 단계에서는 Component, Controller, Helper 세 가지 파일이 가장 중요합니다. 이 세 파일의 관계만 명확히 이해해도 Aura Component의 기본 동작 원리를 파악할 수 있습니다.

5. 실전! 나의 첫 Aura Component 만들기 (`Salesforce Aura Component 튜토리얼`)
이제 이론을 넘어 직접 코드를 작성해볼 시간입니다. 간단한 ‘Hello World’ 애플리케이션을 만들며 Aura Component의 작동 원리를 몸으로 느껴보겠습니다. 이 실습은 `Salesforce Aura Component 입문 강의`의 하이라이트입니다.
프로젝트 목표: 사용자가 이름을 입력하고 버튼을 클릭하면, ‘Hello, [입력한 이름]!’이라는 인사말을 화면에 출력하는 컴포넌트를 만듭니다.
Step 1: Developer Console에서 Component Bundle 생성하기
- Salesforce DE Org에 로그인 후, 우측 상단 톱니바퀴 아이콘을 클릭하고 ‘Developer Console’을 선택합니다.
- Developer Console 메뉴에서 `File > New > Lightning Component`를 클릭합니다.
- Name에 `helloWorld`라고 입력하고 ‘Submit’ 버튼을 누릅니다. 이제 `helloWorld.cmp` 파일이 열린 것을 확인할 수 있습니다.
Step 2: Component 마크업 작성하기 (`helloWorld.cmp`)
UI의 뼈대를 만들어 봅시다. 아래 코드를 복사하여 `helloWorld.cmp` 파일의 내용을 덮어쓰세요.
<aura:component>
<!-- 1. 데이터를 저장할 변수(Attribute) 선언 -->
<aura:attribute name="userName" type="String" default="World"/>
<aura:attribute name="greeting" type="String" default="Hello, World!"/>
<!-- 2. UI 요소 배치 -->
<div class="slds-p-around_medium">
<lightning:input label="이름을 입력하세요" value="{!v.userName}" />
<lightning:button label="인사하기" onclick="{!c.handleClick}" variant="brand" />
<p class="slds-p-top_medium">{!v.greeting}</p>
</div>
</aura:component>
코드 설명:
- `<aura:attribute>`: 컴포넌트 내에서 데이터를 저장하는 변수입니다. `userName`과 `greeting` 두 개를 선언했습니다.
- `value=”{!v.userName}”`: `v`는 view를 의미하며, `userName` 속성의 값과 입력 필드의 값을 양방향으로 연결(binding)합니다.
- `onclick=”{!c.handleClick}”`: 버튼을 클릭하면 Controller(`c`)의 `handleClick` 함수를 실행하라는 의미입니다.
- `slds-p-around_medium`: Salesforce Lightning Design System(SLDS)의 미리 정의된 CSS 클래스로, 요소 주변에 중간 크기의 여백(padding)을 추가하여 디자인을 깔끔하게 만듭니다.
Step 3: Controller 로직 추가하기 (`helloWorldController.js`)
이제 버튼을 눌렀을 때 무슨 일이 일어날지 정의합니다. Developer Console 우측의 ‘CONTROLLER’를 클릭하고 아래 코드를 붙여넣으세요.
({
handleClick : function(component, event, helper) {
// 실제 로직은 Helper 함수에 위임하여 처리합니다.
helper.sayHello(component);
}
})
코드 설명: Controller는 사용자 액션을 받는 역할에 집중하고, 복잡한 로직은 Helper로 넘겨 처리하는 것이 가장 좋은 개발 방식(Best Practice)입니다. 이렇게 하면 코드가 간결해지고 재사용성이 높아집니다.
Step 4: Helper 로직 작성하기 (`helloWorldHelper.js`)
재사용 가능한 핵심 로직을 Helper에 작성합니다. 우측의 ‘HELPER’를 클릭하고 아래 코드를 붙여넣으세요.
({
sayHello : function(component) {
// 1. Component의 userName 속성 값을 가져옵니다.
var name = component.get("v.userName");
// 2. 인사말 메시지를 생성합니다.
var newGreeting = "Hello, " + name + "!";
// 3. 생성된 메시지를 greeting 속성에 저장합니다. 화면은 자동으로 업데이트됩니다.
component.set("v.greeting", newGreeting);
}
})
코드 설명: `component.get(“v.attributeName”)`으로 속성 값을 읽고, `component.set(“v.attributeName”, value)`으로 속성 값을 변경합니다. `set`이 호출되면 Aura 프레임워크가 자동으로 화면의 `{v.greeting}` 부분을 새로운 값으로 다시 그려줍니다.
Step 5: Lightning App으로 컴포넌트 확인하기
마지막으로, 만든 컴포넌트를 담을 그릇인 Lightning Application을 만들어 실행해 봅시다.
- Developer Console에서 `File > New > Lightning Application`을 클릭합니다.
- Name에 `helloApp`을 입력하고 ‘Submit’을 누릅니다.
- 아래 코드를 붙여넣습니다. `extends=”force:slds”`는 SLDS 스타일을 앱 전체에 적용하라는 의미입니다.
<aura:application extends="force:slds">
<c:helloWorld />
</aura:application>
실행: 코드를 저장한 후, 우측 상단의 ‘Preview’ 버튼을 클릭하세요. 새 창에서 방금 만든 컴포넌트가 나타날 것입니다. 이름을 입력하고 버튼을 눌러 인사말이 바뀌는 것을 직접 확인해보세요!

6. 다음 스텝을 위한 학습 로드맵
이번 `Salesforce Aura Component 입문 강의`를 성공적으로 마치신 것을 축하합니다! 이제 여러분은 더 넓은 Salesforce 개발의 세계로 나아갈 준비가 되었습니다. 기초를 다졌으니 다음 목표를 향해 나아갈 로드맵을 제시해 드립니다.
Aura 심화 주제
- 컴포넌트 간 통신 (Events): 하나의 컴포넌트에서 발생한 이벤트를 다른 컴포넌트에 알리는 방법입니다. 부모-자식 관계처럼 가까운 통신에는 Component Event를, 전혀 관계없는 컴포넌트 간의 전체 방송에는 Application Event를 사용합니다. 이 차이점을 공부해보세요.
- 서버 데이터 연동 (Apex): Salesforce의 데이터를 읽고 쓰는 방법입니다. Apex 클래스를 만들고 `@AuraEnabled` 어노테이션이 붙은 메소드를 Aura Component에서 호출하여 데이터베이스와 통신하는 방법을 익혀야 합니다.
- Lightning Data Service (LDS): Apex 코드를 작성하지 않고도 Salesforce 레코드를 생성, 조회, 수정, 삭제할 수 있는 강력한 기능입니다. LDS는 서버와의 통신, 데이터 캐싱 등을 알아서 처리해주어 코드의 양을 획기적으로 줄여줍니다.
궁극적인 목표: LWC로의 전환
Aura의 기본 개념을 탄탄히 다졌다면, 이제 Salesforce 개발의 미래인 Lightning Web Components(LWC)를 학습할 차례입니다. LWC는 Aura보다 성능이 뛰어나고, 웹 표준에 가까워 다른 프론트엔드 프레임워크 경험이 있다면 더 쉽게 배울 수 있습니다. 여러분이 Aura에서 배운 데이터 바인딩, 이벤트 처리, 서버 통신 개념은 LWC를 이해하는 데 훌륭한 밑거름이 될 것입니다. 다음 `Salesforce 플랫폼 사용자 교육` 콘텐츠로 발행될 ‘[LWC 완벽 정복 가이드]’도 기대해주세요!

7. 결론: Aura는 당신의 훌륭한 Salesforce 개발 여정의 시작입니다
이 글을 통해 우리는 Aura Component가 무엇인지, LWC와 어떤 관계에 있는지 배웠고, Component Bundle의 구조를 파헤쳤으며, 직접 손으로 코딩하여 동작하는 컴포넌트를 만들어보는 값진 경험을 했습니다. 단순히 지식을 나열하는 것을 넘어, ‘왜’ 배워야 하는지부터 ‘어떻게’ 만드는지, 그리고 ‘다음은 무엇을’ 해야 하는지까지 모든 과정을 담고자 노력했습니다.
이번 Salesforce Aura Component 기초 교육이 여러분의 Salesforce 개발 여정에 자신감을 불어넣는 든든한 첫걸음이 되었기를 바랍니다. 디지털 트랜스포메이션의 중심에 있는 Salesforce 플랫폼 위에서 여러분의 아이디어를 마음껏 펼쳐나가시길 응원합니다.
학습 중 궁금한 점이나 막히는 부분이 있다면 주저하지 말고 댓글로 질문을 남겨주세요. 함께 문제를 해결해나갑시다. 더 유용한 `Salesforce 플랫폼 사용자 교육` 콘텐츠를 놓치고 싶지 않다면, 저희 블로그를 구독하고 새로운 소식을 가장 먼저 받아보세요

자주 묻는 질문 (FAQ)
Q: Aura Component가 LWC보다 오래되었는데, 지금도 배워야 하는 이유가 무엇인가요?
A: 네, 배워야 합니다. 전 세계 수많은 Salesforce 조직에 이미 Aura로 구축된 시스템이 운영 중이므로 유지보수를 위해 필수적입니다. 또한, Aura의 핵심 개념은 LWC의 기술적 토대가 되었기 때문에 Aura를 이해하면 LWC를 더 깊이 있게 파악할 수 있으며, 두 컴포넌트는 한 페이지 내에서 공존할 수 있어 실무 적응력을 높여줍니다.
Q: Salesforce 개발을 처음 시작하는데, 어떤 도구를 사용하는 것이 좋은가요?
A: 입문자에게는 별도의 설치 없이 웹 브라우저에서 바로 사용할 수 있는 ‘Developer Console’을 추천합니다. 이 튜토리얼에서도 Developer Console을 사용했습니다. 개발에 익숙해진 후에는 코드 자동 완성, 디버깅 등 더 강력한 기능을 제공하는 ‘Visual Studio Code + Salesforce Extension Pack’으로 전환하는 것이 일반적인 학습 경로입니다.
Q: Aura Component에서 데이터는 어떻게 저장하고 변경하나요?
A: 데이터는 컴포넌트 파일(`.cmp`) 내에 `<aura:attribute>` 태그를 사용하여 변수처럼 선언하고 저장합니다. 데이터를 읽을 때는 JavaScript 컨트롤러나 헬퍼에서 `component.get(“v.attributeName”)` 함수를 사용하고, 데이터를 변경할 때는 `component.set(“v.attributeName”, newValue)` 함수를 사용합니다. `set` 함수가 호출되면 화면에 연결된 UI가 자동으로 업데이트됩니다.