---
title: Script Import
slug: world-sdk-guide-kr/script-import
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

게임 오브젝트에 연결된 것 외에도, ZEPETOScript는 다른 스크립트에서 직접 사용할 수 있습니다.

ZEPETOScript를 라이브러리나 모듈처럼 간단히 가져와서 사용할 수 있습니다. TypeScript 문법에서는 ZEPETOScript 파일에 대한 상대 경로를 사용해야 합니다.

아래 상황을 고려할 때, ExtraComponent를 ScriptImport에 가져오려면 다음 문법을 사용해야 합니다.

다음 예시는 lib 폴더에 위치한 ExtraComponent.TS를 호출하기 위한 ScriptImport.ts의 선언입니다.

:::CodeblockTabs
TypeScript

```typescript
import ExtraComponent from './lib/ExtraComponent';
```
:::



::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-HSSAVN3PdE6c87FlgO8hV-20240904-102417.png" size="42" width="200" height="80" position="center" showCaption="false"}

:::hint{type="success"}
## 👍 팁

- 다른 TS 파일을 가져올 때 경로를 정확히 지정하는 것이 중요합니다.
- 상대 경로 표기법에 익숙해지세요.
- `./`는 현재 디렉토리를 나타냅니다.
- `../`는 부모 디렉토리를 나타내며, 즉 현재 디렉토리의 한 단계 위에 있는 디렉토리입니다.
:::



가져온 스크립트에서 선언된 내보낸 함수와 변수를 샘플처럼 직접 참조하여 접근할 수 있습니다.

```typescript
this.gameObject.AddComponent<ExtraComponent>();
const extraComponent = this.gameObject.GetComponent<ExtraComponent>();

// 메서드 호출로 값 가져오기
const count = extraComponent.GetCount();
// 메서드 호출로 값 설정하기
extraComponent.SetCount(0);
// 공용 속성 가져오기
const resultString = extraComponent.stringProperty;
```



다음은 가져온 TypeScript를 보여주는 샘플 코드입니다.

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Text } from 'UnityEngine.UI';
// 경로에서 사용자 정의 스크립트 가져오기
import ExtraComponent from './lib/ExtraComponent';

export default class ScriptImport extends ZepetoScriptBehaviour {

    public resultUI: Text;
    private extComponent: ExtraComponent;

    Start() {
        // 스크립트 컴포넌트 추가
        this.gameObject.AddComponent<ExtraComponent>();
        this.extComponent = this.gameObject.GetComponent<ExtraComponent>();
    }

    Update() {
        // 메서드 호출로 값 가져오기
        const count = this.extComponent.GetCount();

        if (count > 10) {
            // 메서드 호출로 값 설정하기
            this.extComponent.SetCount(0);
        }

        // 공개 속성 가져오기
        const resultString = this.extComponent.stringProperty;

        // 결과 출력
        console.log(`result : ${resultString}`);
        this.resultUI.text = resultString;
    }
}
```



ExtraComponents에 대한 샘플 코드입니다.

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';

export default class ExtraComponent extends ZepetoScriptBehaviour {
    
    public stringProperty: string;
    private message: string;
    private count: int;

    Start() {
        this.message = "안녕 제페토!";
        this.count = 0;
    }
     
    Update() {
        this.stringProperty = `${this.message} : ${this.count++}`;
    }
     
    GetCount() {
        return this.count;
    }
     
    SetCount(newCount: int) {
        this.count = newCount;
    }

}
```



아래의 테스트 코드 출력 화면을 확인하세요.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-fJN9RjCNK8pElFEigtqJ6-20240904-102417.png "2-10-1 (1).png")

