# 클라이언트 변수
모바일 앱과 리액티브 웹 앱에서는 클라이언트 변수를 사용하여 클라이언트 측에서 키와 값 형식의 데이터를 저장합니다. 예를 들어, 이러한 변수를 사용하여 구성이나 앱의 컨텍스트 데이터를 저장합니다.
클라이언트 변수에 저장할 수 있는 것은 [기본 데이터 타입](https://success.outsystems.com/ja-jp/documentation/11/reference/outsystems_language/data/data_types/available_data_types/)뿐입니다. **바이너리** 데이터는 예외입니다. 바이너리는 기본 데이터 타입이지만, 이러한 변수에 저장할 수 없습니다. 환경 전체의 모든 클라이언트 변수에서 이용 가능한 데이터의 양은 브라우저에 의존합니다.
클라이언트 변수의 값은 같은 환경 내의 다양한 앱 간에 공유됩니다. 단, 이에는 다음 조건이 있습니다.
- 앱의 사용자 프로바이더가 같다.
- 앱이 같은 브라우저에서 실행되고 있다.
클라이언트 변수를 다음 중에서 사용함으로써, 클라이언트 변수의 값을 앱 전체에서 공유할 수 있습니다.
- 퍼블릭 블록
- 퍼블릭 클라이언트 액션
사용자가 앱에서 사인아웃하거나, 플랫폼에 의해 자동으로 사인아웃되면, 클라이언트 변수는 각각의 기본값으로 리셋됩니다. 단, 클라이언트 변수를 사용하여 민감 정보나 비밀 정보를 저장하지 마십시오.
## 사용 방법
이 예는 클라이언트 변수를 사용하여 Search 위젯의 값을 유지하는 방법을 보여줍니다. 그 후, 클라이언트 변수의 값을 사용하여 Aggregate를 필터링합니다. 이 값은 다른 화면으로 변경하거나 브라우저를 닫아도 유지됩니다.
1. [**Data**] 탭에서, **Client Variables**를 마우스 오른쪽 버튼으로 클릭하고, [**Add Client Variable**]을 선택합니다.
2. 변수의 이름을 입력합니다(예: `SearchKeyword`).

3. Input 위젯을 선택합니다.
4. [**Properties**] 탭에서, [**Variable**] 필드에 "`Client.SearchKeyword`"라고 입력합니다.

5. 요소 트리에서 Aggregate를 더블클릭합니다.
6. [**Filter**] 탭에서, [**Add Filter**]를 클릭합니다.
7. 필터링 조건을 삽입합니다.
```
Employee.FirstName like "%" + Client.SearchKeyword + "%"
```
8. 필터를 저장하고, [**Close**]를 클릭합니다.

이러한 절차를 수행하고 모듈을 게시한 후, 브라우저에서 필터의 기능을 테스트할 수 있습니다. Search 위젯의 입력에 삽입된 텍스트는 정의된 클라이언트 변수에 저장되며, Aggregate의 필터링에 사용됩니다. 다른 화면으로 변경하거나 브라우저를 닫아도 값은 유지되며, 그 값에 기반한 필터가 계속 적용됩니다.
## 속성
|이름|설명|필수|기본값|비고|
|---|---|---|---|---|
|이름|화면, 액션, 모듈과 같은, 정의되어 있는 스코프 내의 요소를 식별합니다.|예|||
|설명|요소를 문서화하는 텍스트.|||문서화 시 편리합니다. 이 속성의 최대 크기는 2,000자입니다.|
|데이터 타입|변수의 데이터 타입.|예|||
|기본값|이 요소의 초기값. 미정의인 경우, 데이터 타입의 기본값이 사용됩니다.|||클라이언트 변수의 기본값은 리터럴이어야 합니다.|