6-6. 변수 캡슐화하기

적용 시점

  • 전역 변수의 접근을 제한하는 경우

절차

  1. 변수로의 접근과 갱신을 전담하는 캡슐화 함수들을 만든다.

  2. 정적 검사를 수행한다.

  3. 변수를 직접 참조하던 부분을 모두 적절한 캡슐화 함수 호출로 바꾼다. 하나씩 바꿀 때마다 테스트한다.

  4. 변수의 접근 범위를 제한한다.

  5. 테스트한다.

  6. 변수 값이 레코드라면 레코드 캡슐화하기를 고려한다.

예시

❌ Before

// constant.ts
const GRADES = ["A", "B", "C", "D", "E"]; // 변경 가능함, 하지만 삭제는 하면 안 됨
const DEPARTMENTS = ["컴퓨터공학과", "영어영문학과", "수학과"]; // 변경 불가함

// main.ts
GRADES.pop() // 삭제가 가능해져버림, 추후 문제 생길 여지 있음
DEPARTMENTS.push('화학공학과') // 변경이 가능해져 버림, 추후 문제 생길 여지 있음

⭕ After

Last updated