← 목록

Node.js 이벤트 에미터의 기본 개념과 활용법

작성: 2025년 06월 15일읽기: 약 3분

Node.js에서 이벤트 에미터는 매우 중요한 부분입니다. 이것은 Node.js가 비동기 이벤트를 다루는 방식의 핵심입니다. 간단히 말해서, 이벤트 에미터를 사용하면 특정 이벤트가 발생했을 때 코드가 반응하도록 설정할 수 있습니다. 이것은 웹 서버를 만들거나 파일 시스템 작업을 할 때 매우 유용합니다.

이벤트 에미터란 무엇인가요?

이벤트 에미터는 이벤트를 발생시키고, 이벤트가 발생했을 때 실행될 콜백 함수를 관리하는 방법을 제공합니다. Node.js의 events 모듈에는 EventEmitter 클래스가 포함되어 있으며, 이를 통해 이벤트와 이벤트 핸들러를 쉽게 관리할 수 있습니다.

기본 사용법

먼저, events 모듈을 사용하기 위해 EventEmitter 클래스를 가져와야 합니다.

const EventEmitter = require('events');

// EventEmitter 인스턴스 생성
const myEmitter = new EventEmitter();

이제, 이벤트를 발생시키고 싶을 때마다 .emit() 메서드를 사용할 수 있습니다. 그리고 이벤트를 감지하고 반응하고 싶을 때는 .on() 메서드로 리스너를 추가합니다.

// 이벤트 리스너 추가
myEmitter.on('event', () => {
  console.log('이벤트가 발생했습니다!');
});

// 이벤트 발생시키기
myEmitter.emit('event');

위 코드는 'event'라는 이름의 이벤트가 발생했을 때, 콘솔에 "이벤트가 발생했습니다!"를 출력합니다.

매개변수와 함께 이벤트 발생시키기

이벤트를 발생시킬 때 추가 정보를 전달할 수도 있습니다. 이 정보는 이벤트 리스너의 콜백 함수로 전달됩니다.

// 이벤트 리스너에 매개변수 전달
myEmitter.on('greeting', (name) => {
  console.log(`안녕, ${name}!`);
});

// 'greeting' 이벤트 발생시키기, 'Node.js'를 매개변수로 전달
myEmitter.emit('greeting', 'Node.js');

이 코드는 'greeting' 이벤트가 발생할 때마다 "안녕, Node.js!"를 출력합니다.

정리

Node.js의 이벤트 에미터를 사용하면, 이벤트 기반 프로그래밍을 쉽게 구현할 수 있습니다. 이벤트를 발생시키고, 이벤트에 반응하여 비동기적으로 작업을 수행할 수 있습니다. 이벤트 에미터는 Node.js에서 매우 강력한 기능 중 하나이며, 웹 개발을 비롯한 다양한 분야에서 활용될 수 있습니다.

이벤트 에미터를 사용함으로써, 코드를 더욱 모듈화하고, 이벤트 기반의 비동기 패턴을 효율적으로 구현할 수 있습니다. 이제 여러분도 이벤트 에미터를 활용하여 Node.js 애플리케이션을 더욱 풍부하게 만들어 보세요!