너무 기니...줄여서 RM이라고 부르자.
RM 패턴은 자바스크립트에서 많이 쓰이는 디자인 패턴 중 하나인데, 즉시 실행 함수를 통해 private, public 같은 접근 제어자를 만드는 패턴을 뜻합니다.
여기서 즉시 실행 함수란.. 함수를 정의하자마자 바로 호출하는 함수로써, 초기화 코드, 라이브러리 내 전역 변수의 충돌 방지 들에 사용한다.
한 가지 더, 자바스크립트에서는 자바와 타입스크립트와 같이 public, private, 그리고 protected라는 개념이 존재하지 않는데 RM 패턴을 구축하는 것으로 써 그 역할을 할 수 있도록 만들어 줄 수는 있다.
다음의 코드 예제를 통해 한 번 알아보자
let myModule = (function() {
const privateVar = 'Hello World';
function privateFunc() {
console.log(privateVar);
}
function publicFunc() {
privateFunc();
}
return {
publicFunc: publicFunc
};
})();
위 코드를 보면 myModule은 바로 실행되는 함수 이기 때문에, 외부에서 privateVar에 접근할 수 있는 방법이 없다.
캡슐화 작업 : RM 패턴은 우리의 코드를 캡슐화하여 자세한 내용은 비공개 처리를 할 수 있기에 발생 할 수 있는 휴먼 에러를 줄여 유지 보수에 도움을 줄 수 있다.
모듈화 : RM 패턴을 사용하는 것으로 코드를 쪼개 재사용성이 높은 모듈로 모듈화가 가능하다.
의존성 관리 : 오직 필요할 때만 적절하게 사용 할 수 있도록 모듈 사이의 의존성을 관리 할 수 있다.