diff --git a/common-component/elementary-technology/calendar.md b/common-component/elementary-technology/calendar.md
index c99506c2..d4140ca9 100644
--- a/common-component/elementary-technology/calendar.md
+++ b/common-component/elementary-technology/calendar.md
@@ -4,8 +4,352 @@ linkTitle: "달력"
description: "달력"
url: /common-component/elementary-technology/calendar/
menu:
- depth:
- weight: 6
- parent: "elementary-technology"
- identifier: "calendar"
----
\ No newline at end of file
+ depth:
+ weight: 6
+ parent: "elementary-technology"
+ identifier: "calendar"
+---
+
+
+
+# 달력
+
+## 개요
+
+일반달력, 행정달력은 서비스 화면에서 날짜를 선택하는 기능으로 활용하며, 구간에 따른 조회화면을 제공한다.
+휴일 관리는 휴일을 등록, 수정, 목록조회, 상세조회를 제공한다.
+
+## 설명
+
+일반달력, 행정달력은 팝업화면과 일간/주간/월간/연간 조회화면으로 구성되어있다.
+휴일의 관리는 목록조회, 상세조회, 등록, 수정, 삭제 처리 할 수 있도록 구성되어있다.
+
+### 관련소스
+
+| 유형 | 대상소스명 | 비고 |
+| ------------------ | -------------------------------------------------------------------------------- | ---------------------------------------------- |
+| Controller | `egovframework.com.sym.cal.web.EgovCalRestdeManageController.java` | 달력, 휴일관리를 위한 컨트롤러 클래스 |
+| Model | `egovframework.com.sym.cal.service.Restde.java` | 휴일 정보 Model 클래스 |
+| VO | `egovframework.com.sym.cal.service.RestdeVO.java` | 달력, 휴일관리를 위한 VO 클래스 |
+| Service | `egovframework.com.sym.cal.service.EgovCalRestdeManageService.java` | 달력, 휴일관리를 위한 서비스 인터페이스 |
+| ServiceImpl | `egovframework.com.sym.cal.service.impl.EgovCalRestdeManageServiceImpl.java` | 달력, 휴일관리를 위한 위한 서비스구현 클래스 |
+| DAO | `egovframework.com.sym.cal.service.impl.RestdeManageDAO.java` | 휴일 정보 관리를 위한 데이터처리 클래스 |
+| JS | `/webapp/js/egovframework/cmm/sym/cal/EgovCalPopup.js` | 일반달력, 행정달력 팝업 호출을 위한 JavaScript |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministCalPopup.jsp` | 행정달력 팝업을 위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministCalendar.jsp` | 행정달력 팝업의 내용을 위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministDayCalendar.jsp` | 행정달력 일간을위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministMonthCalendar.jsp` | 행정달력 월간을위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministWeekCalendar.jsp` | 행정달력 주간을위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministYearCalendar.jsp` | 행정달력 연간을위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalCalPopup.jsp` | 일반달력 팝업을 위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalCalendar.jsp` | 일반달력 팝업의 내용을 위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalDayCalendar.jsp` | 일반달력 일간을위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalMonthCalendar.jsp` | 일반달력 월간을위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalWeekCalendar.jsp` | 일반달력 주간을위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalYearCalendar.jsp` | 일반달력 연간을위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovRestdeDetail.jsp` | 휴일 상세보기를 위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovRestdeList.jsp` | 휴일 목록을 위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovRestdeModify.jsp` | 휴일 수정을 위한 JSP 페이지 |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovRestdeRegist.jsp` | 휴일 등록을 위한 JSP 페이지 |
+| Query XML | `resources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_altibase.xml` | 달력, 휴일관리를 위한 Altibase용 Query XML |
+| Query XML | `resources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_cubrid.xml` | 달력, 휴일관리를 위한 Cubrid용 Query XML |
+| Query XML | `resources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_maria.xml` | 달력, 휴일관리를 위한 MariaDB용 Query XML |
+| Query XML | `resources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_mysql.xml` | 달력, 휴일관리를 위한 MySQL용 Query XML |
+| Query XML | `resources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_oracle.xml` | 달력, 휴일관리를 위한 Oracle용 Query XML |
+| Query XML | `resources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_postgres.xml` | 달력, 휴일관리를 위한 PostgreSQL용 Query XML |
+| Query XML | `resources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_tibero.xml` | 달력, 휴일관리를 위한 Tibero용 Query XML |
+| Query XML | `resources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_goldilocks.xml` | 달력, 휴일관리를 위한 Goldilocks용 Query XML |
+| Validator Rule XML | `resources/egovframework/validator/validator-rules.xml` | Validator Rule을 정의한 XML |
+| Validator XML | `resources/egovframework/validator/com/sym/cal/EgovRestdeManage.xml` | 달력, 휴일관리를 위한 Validator XML |
+| Message properties | `resources/egovframework/message/com/sym/cal/message_en.properties` | 달력, 휴일관리를 위한 Message properties(영문) |
+| Message properties | `resources/egovframework/message/com/sym/cal/message_ko.properties` | 달력, 휴일관리를 위한 Message properties(한글) |
+| Idgen XML | `resources/egovframework/spring/com/idgn/context-idgn-RestDe.xml` | 달력, 휴일관리를 위한 Id생성 Idgen XML |
+
+### 관련테이블
+
+| 테이블명 | 테이블명(영문) | 비고 |
+| -------- | -------------- | ---------------- |
+| 휴일 | `COMTNRESTDE` | 휴일 정보를 관리 |
+
+## 환경설정
+
+휴일 관리 기능을 위하여 필요한 항목 및 그 환경 설정은 다음과 같다.
+
+### ID Generation 관련 DDL 및 DML
+
+ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 `COMTECOPSEQ`에 **RESTDE_ID** 항목을 추가해야 한다.
+
+```sql
+CREATE TABLE COMTECOPSEQ (
+ table_name varchar(16) NOT NULL,
+ next_id DECIMAL(30) NOT NULL,
+ PRIMARY KEY (table_name)
+);
+
+INSERT INTO COMTECOPSEQ VALUES ('RESTDE_ID','0');
+```
+
+### ID Generation 환경설정(context-idgn-LeaderSchdu.xml)
+
+```xml
+
+
+
+
+
+
+```
+
+## 사용방법
+
+### 일반달력 팝업
+
+일반달력 팝업 호출을 위하여 다음사항을 적용한다.
+`_editor_url` 변수는 `EgovCalPopup.js` 호출하는 자바스크립트보다 반드시 위줄에 위치하여야 한다.(변수를 선언하여 그 값을 받아오기 때문임)
+
+```html
+
+
+
+```
+
+일반달력 팝업 호출을 위하여 `EgovCalPopup.js` 를 해당 페이지에 등록한다.
+
+```html
+
+```
+
+날짜를 사용할 폼에 받기위해 위 샘플 소스처럼 호출하여 사용한다.
+`sDate`는 일자 연월일 8자리를 받고, `vDate`는 `-`를 포함하여 받는다.
+
+
+
+#### 달력 팝업 DB 없이 사용하기
+
+일반달력 팝업으로 휴일을 관리하지 않고 데이터베이스 없이 팝업 달력을 사용하기 위하여 아래와 같이 변경하여 사용할 수 있다.
+
+| URL | Controller |
+| -------------------------------------- | ------------------------------- |
+| `/sym/cmm/EgovselectNormalCalendar.do` | `EgovCalRestdeManageController` |
+
+다음 소스코드 부분을
+
+```java
+restde.setYear(Integer.toString(iYear));
+restde.setMonth(Integer.toString(iMonth));
+
+cal.set(iYear,iMonth-1,1);
+
+restde.setStartWeekMonth(cal.get(Calendar.DAY_OF_WEEK));
+restde.setLastDayMonth(cal.getActualMaximum(Calendar.DATE));
+
+List CalInfoList = restdeManageService.selectNormalRestdePopup(restde);
+```
+
+아래와 같이 변경하여 사용할 수 있다.
+
+```java
+cal.set(iYear,iMonth-1,1);
+
+int firstWeek = cal.get(Calendar.DAY_OF_WEEK);
+int lastDay = cal.getActualMaximum(Calendar.DATE);
+int week = cal.get(Calendar.DAY_OF_WEEK);
+
+String year = Integer.toString(iYear);
+String month = Integer.toString(iMonth);
+String day = Integer.toString(cal.get(Calendar.DAY_OF_MONTH));
+
+restde.setStartWeekMonth(firstWeek);
+restde.setLastDayMonth(lastDay);
+restde.setYear(year);
+restde.setMonth(month);
+
+List CalInfoList = new ArrayList();
+String tmpDay = "";
+
+/**
+ * 계산... START
+ */
+for(int i=0; i<42;i++) {
+ ListOrderedMap map = new ListOrderedMap();
+ int cc = i + 1;
+ int dd = cc-firstWeek+1;
+
+ if (dd > 0 && dd <= lastDay) {
+ tmpDay = Integer.toString(dd);
+ } else {
+ tmpDay = "";
+ }
+
+ map.put("year", year);
+ map.put("month", month);
+ map.put("day", tmpDay);
+ map.put("cellNum", cc);
+ map.put("weeks", (cc - 1) / 7 + 1);
+ map.put("week", (week-1) % 7 + 1);
+ map.put("restAt", ((week-1) % 7 + 1==1) ? "Y" : "N");
+
+ if (dd > 0 && dd <= lastDay) {
+ week ++;
+ }
+ CalInfoList.add(map);
+
+}
+/**
+ * 계산... END
+ */
+```
+
+### 행정달력 팝업
+
+행정달력 팝업 호출을 위하여 다음사항을 적용한다.
+`_editor_url` 변수는 `EgovCalPopup.js` 호출하는 자바스크립트보다 반드시 위줄에 위치하여야 한다.(변수를 선언하여 그 값을 받아오기 때문임)
+
+```html
+
+
+
+```
+
+행정달력 팝업 호출을 위하여 `EgovCalPopup.js` 를 해당 페이지에 등록한다.
+
+```html
+
+```
+
+날짜를 사용할 폼에 받기위해 위 샘플 소스처럼 호출하여 사용한다.
+`sDate`는 일자 연월일 8자리를 받고, `vDate`는 `-`를 포함하여 받는다.
+
+
+
+### 행정달력 일간/주간/월간/연간 조회
+
+행정달력 일간/주간/월간/연간 조회 할 수 있는 조회 화면으로 URL은 다음과 같다.
+
+| 기능 | URL | Controller | method | 화면(URL) |
+| -------- | --------------------------------------- | ------------------------------- | ----------------------------- | ---------------------------------------- |
+| 일간조회 | `/sym/cal/EgovAdministDayCalendar.do` | `EgovCalRestdeManageController` | `selectAdministDayCalendar` | `/cmm/sym/cal/EgovAdministDayCalendar` |
+| 주간조회 | `/sym/cal/EgovAdministWeekCalendar.do` | `EgovCalRestdeManageController` | `selectAdministWeekCalendar` | `/cmm/sym/cal/EgovAdministWeekCalendar` |
+| 월간조회 | `/sym/cal/EgovAdministMonthCalendar.do` | `EgovCalRestdeManageController` | `selectAdministMonthCalendar` | `/cmm/sym/cal/EgovAdministMonthCalendar` |
+| 연간조회 | `/sym/cal/EgovAdministYearCalendar.do` | `EgovCalRestdeManageController` | `selectAdministYearCalendar` | `/cmm/sym/cal/EgovAdministYearCalendar` |
+
+### 휴일 목록
+
+휴일 목록 조회를 할 수 있는 목록조회 화면으로 URL은 다음과 같다.
+
+`/sym/cal/EgovRestdeList.do`
+
+| 기능 | URL | Controller | method | 화면(URL) |
+| -------- | ---------------------------- | ------------------------------- | ------------------ | ----------------------------- |
+| 목록조회 | `/sym/cal/EgovRestdeList.do` | `EgovCalRestdeManageController` | `selectRestdeList` | `/cmm/sym/cal/EgovRestdeList` |
+
+휴일 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.
+검색조건은 휴일일자, 휴일명에 대해서 수행된다.
+페이지 당 검색 범위를 변경하고자 하는 경우 `context-properties.xml` 파일의 `pageUnit`, `pageSize`를 변경한다.(단 해당 설정은 전체 공통서비스 기능에 영향을 미친다.)
+
+
+
+### 휴일 등록
+
+휴일 등록 할 수 있는 등록 화면으로 URL은 다음과 같다.
+
+`/sym/cal/EgovRestdeRegist.do`
+
+| 기능 | URL | Controller | method | 화면(URL) |
+| ---- | ------------------------------ | ------------------------------- | -------------- | ------------------------------- |
+| 등록 | `/sym/cal/EgovRestdeRegist.do` | `EgovCalRestdeManageController` | `insertRestde` | `/cmm/sym/cal/EgovRestdeRegist` |
+
+휴일에 대한 상세내용을 등록한다.
+등록이 성공하면 휴일 목록 화면으로 이동한다.
+
+
+
+### 휴일 수정
+
+휴일 수정 할 수 있는 수정 화면으로 URL은 다음과 같다.
+
+`/sym/cal/EgovRestdeModify.do`
+
+| 기능 | URL | Controller | method | 화면(URL) |
+| ---- | ------------------------------ | ------------------------------- | -------------- | ------------------------------- |
+| 수정 | `/sym/cal/EgovRestdeModify.do` | `EgovCalRestdeManageController` | `updateRestde` | `/cmm/sym/cal/EgovRestdeModify` |
+
+수정이 성공하면 휴일 목록 화면으로 이동한다.
+
+
+
+### 휴일 상세 조회
+
+휴일 상세 조회 할 수 있는 상세 조회 화면으로 URL은 다음과 같다.
+
+`/sym/cal/EgovRestdeDetail.do`
+
+| 기능 | URL | Controller | method | 화면(URL) |
+| -------- | ------------------------------ | ------------------------------- | -------------------- | ------------------------------- |
+| 상세조회 | `/sym/cal/EgovRestdeDetail.do` | `EgovCalRestdeManageController` | `selectRestdeDetail` | `/cmm/sym/cal/EgovRestdeDetail` |
+
+상세조회 화면에서는 삭제, 수정, 목록 버튼을 제공한다.
+
+
diff --git a/common-component/elementary-technology/formatter-util.md b/common-component/elementary-technology/formatter-util.md
index 426fd865..3fda2551 100644
--- a/common-component/elementary-technology/formatter-util.md
+++ b/common-component/elementary-technology/formatter-util.md
@@ -8,4 +8,70 @@ menu:
weight: 9
parent: "elementary-technology"
identifier: "formatter-util"
----
\ No newline at end of file
+---
+
+## 개요
+
+포맷/계산/변환(Format/Calc/Convert) 요소기술 패키지는 공통컴포넌트 내에서 데이터의 형식을 조정하거나, 날짜, 숫자, 문자열 등에 대한 계산 및 변환 작업을 수행하는 유틸리티 기능을 제공한다.
+게시판, 커뮤니티, 시스템 이력 관리 등 표준프레임워크의 다양한 공통컴포넌트에서 공통적으로 참조하여 사용하는 필수 요소기술이다.
+
+## 주요 개념
+
+### 날짜/시간/요일 처리
+
+- **계산**: 날짜 및 시간의 가감 연산(연, 월, 일, 시, 분 계산)과 요일 계산을 수행한다.
+- **변환**: 날짜/시간을 문자열이나 정수형(int) 타입으로 변환한다.
+- **포맷 변경**: 입력된 날짜/시간을 지정한 포맷(예: `yyyy년 MM월 dd일`)으로 변경하고, 영문 요일을 한글로 변환한다.
+- **유효성 체크**: 주어진 날짜, 시간, 요일 데이터의 형식과 유효성을 검증한다.
+
+### 숫자 처리
+
+- **변환**: 숫자 타입을 문자열 등 다른 데이터 타입으로 안전하게 변환한다.
+- **치환 및 검증**: 특정 숫자 집합 간 치환 및 유효성 검증을 수행한다.
+
+### 문자열 처리
+
+- **변환**: 대문자/소문자 상호 변환, HTML 특수문자 처리 등을 수행한다.
+- **치환 및 검색**: 특정 문자열의 치환, 추출 및 검색 기능을 제공한다.
+- **유효성 체크**: 이메일, 전화번호, 휴대폰번호 등 다양한 문자열 형식에 대한 유효성 체크를 수행한다.
+
+### 기타 유틸리티
+
+- **환율 계산**: 외부 연계 등을 활용하여 지정된 환율 정보 기반으로 환율을 계산한다.
+- **단위 변환**: 각종 측정 단위 및 수치 변환 기능을 제공한다.
+- **랜덤 값 생성**: 무작위적인 날짜, 문자열, 난수를 생성한다.
+
+## 관련 클래스 및 패키지 구조
+
+해당 모듈은 `egovframework.com.utl.fcc` (Format/Calc/Convert) 패키지에 구현되어 있으며, 주요 핵심 유틸리티 클래스는 다음과 같다.
+
+| 클래스명 | 설명 | 비고 |
+| --- | --- | --- |
+| `EgovDateUtil` | 날짜 및 시간 처리 관련 유틸리티 | |
+| `EgovNumberUtil` | 숫자 데이터 처리 및 변환 유틸리티 | |
+| `EgovStringUtil` | 문자열 처리 및 변환 유틸리티 | |
+| `EgovFormatCheckUtil` | 이메일, 전화번호 등 포맷 유효성 체크 유틸리티 | |
+| `EgovEhgtCalcUtil` | 환율 계산 처리 유틸리티 | |
+
+## 설명
+
+### 유효성 체크 예시 (EgovFormatCheckUtil)
+
+전화번호, 휴대폰번호, 이메일 등을 입력받아 형식을 검증하는 기능을 제공하며, 구분 입력(배열/다중 파라미터)과 단일 문자열 입력을 모두 지원한다.
+
+#### 전화번호 유효성 체크 메소드
+
+- `checkFormatTell(String tell1, String tell2, String tell3)`: 입력된 전화번호의 앞, 중간, 뒤 문자열을 각각 받아서 검증한다. 유효한 전화번호인지 체크하여 `boolean` 값을 반환한다.
+- `checkFormatTell(String tellNumber)`: 하이픈(`-`)을 제외한 하나의 연결된 문자열을 받아서 유효한 전화번호인지 체크한다.
+
+```java
+// 다중 파라미터를 이용한 검증
+boolean isValidePhone = EgovFormatCheckUtil.checkFormatTell("02", "1234", "5678");
+
+// 단일 문자열을 이용한 검증
+boolean isValidePhone2 = EgovFormatCheckUtil.checkFormatTell("0212345678");
+```
+
+## 참고자료
+
+- [표준프레임워크 포털](https://www.egovframe.go.kr)
diff --git a/common-component/elementary-technology/interface.md b/common-component/elementary-technology/interface.md
index 39d4e915..17f06449 100644
--- a/common-component/elementary-technology/interface.md
+++ b/common-component/elementary-technology/interface.md
@@ -8,4 +8,45 @@ menu:
weight: 7
parent: "elementary-technology"
identifier: "interface"
----
\ No newline at end of file
+---
+
+# 인터페이스/화면
+
+## 개요
+
+인터페이스/화면 요소기술은 사용자와 시스템 간의 원활한 상호작용을 지원하기 위해 화면 단에서 빈번하게 사용되는 공통 기능을 제공한다.
+이 컴포넌트들은 주로 쿠키/세션 관리, 웹에디터, 달력, 화면 인쇄 등 사용자 경험(UX)과 직결된 인터페이스 기능들을 포함한다.
+
+## 주요 개념
+
+### 쿠키 및 세션 관리
+
+웹 애플리케이션에서 클라이언트 측에 데이터를 저장하는 쿠키(Cookie)와 서버 측에 상태 정보를 유지하는 세션(Session)을
+생성, 수정, 삭제하는 기능을 제공한다. 이를 통해 사용자 맞춤형 서비스와 로그인 등의 상태 유지를 안정적으로 구현할 수 있다.
+
+### 화면 출력 및 에디터
+
+HTML 기반의 서식 있는 텍스트를 작성할 수 있는 웹에디터 컴포넌트와 브라우저 상의 특정 영역을 문서로 출력하기 위한
+화면 인쇄 기능을 제공하여, 풍부한 사용자 인터페이스 환경을 구성한다.
+
+### 달력 및 메시지 처리
+
+날짜를 직관적으로 선택할 수 있는 달력 컴포넌트와 사용자에게 정보(Info), 경고(Warning), 오류(Error) 등의
+상태 메시지를 표준화된 형태로 전달하기 위한 기능을 담당한다.
+
+## 관련 문서
+
+- [달력](./calendar.md)
+- [쿠키/세션](./cookie-session.md)
+- [메시지처리](./message-process.md)
+- [웹에디터](./webeditor.md)
+
+## 설명
+
+인터페이스/화면 기술은 특정 업무 로직에 종속되지 않고, 다양한 웹 서비스의 프론트엔드 환경에서 재사용될 수 있도록
+독립적인 유틸리티 형태로 구현되어 있다.
+표준프레임워크의 실행환경 기반 위에서 JSP, HTML 및 JavaScript와 연계하여 손쉽게 호출하고 적용할 수 있도록 설계되었다.
+
+## 참고자료
+
+- [전자정부 표준프레임워크 공통컴포넌트 가이드](https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:com:v4.1)
diff --git a/common-component/elementary-technology/message-process.md b/common-component/elementary-technology/message-process.md
index 83eca420..f86e5692 100644
--- a/common-component/elementary-technology/message-process.md
+++ b/common-component/elementary-technology/message-process.md
@@ -8,4 +8,92 @@ menu:
weight: 3
parent: "elementary-technology"
identifier: "message-process"
----
\ No newline at end of file
+---
+
+## 개요
+
+애플리케이션 내에서 사용하는 정보(Info), 경고(Warn), 에러(Error), 확인(Confirm) 메시지를 관리하고 취득하는
+유틸리티 공통기능을 제공한다. Property 파일을 통해 각 유형별 메시지 정보를 처리한다.
+
+## 설명
+
+메시지는 성격에 따라 4가지(정보, 경고, 에러, 확인)로 구분되며, 별도의 Property 파일을 통해 메시지 내용을 관리한다.
+
+### 관련 소스
+
+| 유형 | 대상 소스 | 설명 | 비고 |
+| --- | --- | --- | --- |
+| Service | `egovframework.com.utl.cas.service.EgovMessageUtil.java` | 메시지 처리 관련 유틸리티 | |
+| Controller | `egovframework.com.utl.fcc.web.EgovComUtlTestController.java` | 테스트용 Controller | |
+| JSP | `/WEB-INF/jsp/egovframework/cmm/utl/EgovMessage.jsp` | 테스트 페이지 | |
+
+### 메소드
+
+`EgovMessageUtil` 클래스에서 다음과 같은 메소드를 제공한다.
+
+| 결과값 | 메소드 | 설명 | 내용 |
+| --- | --- | --- | --- |
+| `String` | `getInfoMsg(String key)` | 정보 메시지 취득 | 메시지 키에 해당하는 정보 메시지를 얻는 기능 |
+| `String` | `getInfoMsg(String key, String[] params)` | 정보 파라미터 취득 | 메시지 키에 해당하는 정보 메시지에 파라미터 값을 대치하여 얻는 기능 |
+| `String` | `getWarnMsg(String key)` | 경고 메시지 취득 | 메시지 키에 해당하는 경고 메시지를 얻는 기능 |
+| `String` | `getWarnMsg(String key, String[] params)` | 경고 파라미터 취득 | 메시지 키에 해당하는 경고 메시지에 파라미터 값을 대치하여 얻는 기능 |
+| `String` | `getErrMsg(String key)` | 에러 메시지 취득 | 메시지 키에 해당하는 에러 메시지를 얻는 기능 |
+| `String` | `getErrMsg(String key, String[] params)` | 에러 파라미터 취득 | 메시지 키에 해당하는 에러 메시지에 파라미터 값을 대치하여 얻는 기능 |
+| `String` | `getConfirmMsg(String key)` | 확인 메시지 취득 | 메시지 키에 해당하는 확인 메시지를 얻는 기능 |
+| `String` | `getConfirmMsg(String key, String[] params)` | 확인 파라미터 취득 | 메시지 키에 해당하는 확인 메시지에 파라미터 값을 대치하여 얻는 기능 |
+
+#### Input
+
+- `key`: 속성 파일에 기록된 key 정보
+- `params`: 대치될 문자열 배열 정보
+- Validation 체크: 요소기술 Validation 체크
+
+#### Output
+
+- `String`: 해당 key로 지정된 속성 정보. 해당 속성이 없으면 `null`을 리턴한다.
+
+## 환경설정
+
+메시지 처리를 위해서는 **User home** 디렉터리 하위의 `egovProps/conf/` 경로에
+각 유형별 Property 파일이 정의되어 있어야 한다. 메시지 정의는 일반적인 Property 파일 정의 방식과 동일하다.
+
+- `infomessage.properties` (정보 메시지)
+- `warnmessage.properties` (경고 메시지)
+- `errormessage.properties` (에러 메시지)
+- `confirmmessage.properties` (확인 메시지)
+
+> **참고**: User home 디렉터리는 `System.getProperty("user.home")`를 통해 얻는 정보이다.
+> Windows 계열 운영체제는 보통 `C:\Users\사용자계정`이고, Unix/Linux 계열은 `/home/사용자계정`이 된다.
+
+## 사용방법
+
+각 `.properties` 파일에 다음과 같은 메시지가 정의되어 있다고 가정한다.
+
+```properties
+# infomessage.properties
+test.message = info message
+param.message = info message : {0} = {1}
+
+# warnmessage.properties
+test.message = warn message
+param.message = warn message : {0} = {1}
+```
+
+Java 소스코드에서 `EgovMessageUtil` 클래스를 이용하여 메시지를 취득한다.
+
+```java
+import egovframework.com.utl.cas.service.EgovMessageUtil;
+
+// ...
+
+String message = null;
+
+// 1. 일반 메시지 취득
+message = EgovMessageUtil.getInfoMsg("test.message");
+// message = EgovMessageUtil.getWarnMsg("test.message");
+// message = EgovMessageUtil.getErrMsg("test.message");
+// message = EgovMessageUtil.getConfirmMsg("test.message");
+
+// 2. 파라미터 처리 메시지 취득 : String 배열의 값이 각각 {0}, {1}로 대치됨
+message = EgovMessageUtil.getInfoMsg("param.message", new String[] {"정보", "해당되는 기대값이 없습니다."});
+```