diff --git a/docs/documentation/ko/handbook-v2/Modules.md b/docs/documentation/ko/handbook-v2/Modules.md
new file mode 100644
index 00000000..ce746a21
--- /dev/null
+++ b/docs/documentation/ko/handbook-v2/Modules.md
@@ -0,0 +1,406 @@
+---
+title: Modules
+layout: docs
+permalink: /ko/docs/handbook/2/modules.html
+oneline: "JavaScript가 파일 간 상호작용을 처리하는 방법."
+---
+
+JavaScript는 코드를 모듈화하는 다양한 방법들의 오랜 역사를 가지고 있습니다.
+2012년에 등장한 TypeScript는 이런 다양한 방법에 대한 지원을 지원해왔지만, 시간이 지남에따라 커뮤니티와 JavaScript 표준은 ES Modules(또는 ES6 모듈)이라고 불리는 형식으로 정착하게 되었습니다. 이는 `import`/`export` 구문으로 알려져 있습니다.
+
+ES Modules는 2015년에 JavaScript 사양에 추가되었고, 2020년쯤에는 대부분의 웹 브라우저와 JavaScript 런타임에서 폭넓게 지원되기 시작했습니다.
+
+이 핸드북에서는 집중적으로 ES Modules와 그 이전에 널리 쓰이던 CommonJS `module.exports = ` 구문을 함께 다룹니다. 다른 모듈 패턴에 대한 내용은 참고 섹션의 [Modules](/docs/handbook/modules.html)에서 확인할 수 있습니다.
+
+
+## JavaScript 모듈의 정의 방법
+
+TypeScript에서는 ECMAScript 2015와 마찬가지로 파일의 최상위top-level에 `import` 또는 `export`가 있으면 그 파일을 모듈Modules로 간주합니다.
+
+반대로 파일 최상위에 `import` 또는 `export` 선언이 없으면 스크립트script로 취급되며, 이때 해당 내용은 전역 스코프global scope에서 참조할 수 있습니다 (모듈에서도 참조할 수 있습니다).
+
+모듈은 전역 스코프가 아닌 자체 스코프scope 내에서 실행됩니다.
+따라서 모듈 내 변수, 함수, 클래스 등이 `export` 구문으로 명시적으로 내보내지 않으면 모듈 외부에서는 참조할 수 없습니다.
+반대로 다른 모듈에서 내보낸 변수, 함수, 클래스, 인터페이스 등을 참조하려면 `import` 구문을 사용해 가져와야 합니다.
+
+## 모듈이 아닌 파일Non-modules
+
+시작하기 전에 TypeScript가 무엇을 모듈로 간주하는지 짚고 넘어가야 합니다. JavaScript 사양에 따르면 `import` 또는 `export` 선언 또는 최상위 await가 없으면 JavaScript 파일은 모듈이 아닌 스크립트script로 간주합니다.
+
+스크립트 파일 내에서는 변수와 타입이 공유된 전역 스코프에 선언되며, [`outFile`](/tsconfig#outFile) 컴파일러 옵션을 사용해 여러 입력 파일을 하나의 출력 파일로 합치거나, HTML에서 여러 개의 `