캡슐화

김동욱·2023년 12월 4일
0

캡슐화 (Encapsulation)

class, instansce 를 이용하여 객체 지향 프로그래밍이 가능함
하지만 실수로 속성을 덮어쓰거나, 잘못된 조작으로 인해서 생기는 실수를 방지하기 위해
'캡슐화' 라는 방법 사용

멤버에 대한 접근 제어

접근 지정자 (access modifier)

접근 지정자 (access modifier)

  • private
    제한 엄격, 멤버앞에 _ 붙임, 자기 자신의 클래스만 접근가능
  • public
    제한 느슨, 모든 클래스 접근 가능

getter, setter

  • getter, setter 예제

getter, setter 사용 목적

  1. Read Only, Write Only 필드의 실현
  2. 필드의 이름 등, 클래스의 내부 설계를 자유롭게 변경 가능
  3. 필드로의 액세스를 검사 가능
// access 검사
String _name;

String get name => _name;

set name(String nameVal) {
	// 문자열 길이 검사
	if (nameVal.length <= 1) {
		throw Exception('$nameVal is too short');
	}
	// 문자열 길이 검사
	if (nameVal.length >= 8) {
		throw Exception('$nameVal is too long');
	}

	// 검사 완료 후
	_name = nameVal;
}

캡슐화의 목적

잘못된 접근에 대한 제어

ref)

profile
백엔드 개발자

0개의 댓글