일반화, 추상화, 은닉화, 캡슐화

나이든별 / Oldstar·2022년 4월 24일
0

Think about Keywords

목록 보기
5/37

학습 내용

  • 일반화, 추상화 : 일반화는 여러 개체의 공통점을 모아서 상위의 범주를 만드는 것, 추상화는 대표적인 특징만 골라서 표시하는 것.
  • 은닉화, 캡슐화 : 은닉화는 굳이 드러나지 않아도 될 정보를 숨기는 것, 캡슐화는 중요한 사항을 감추고 다만 외부에서 사용할 수 있는 수단만 제공하는 것.

문제점 / 고민한 점

  • 은닉화와 캡슐화에 사용될 수 있는 private(set) 에 대해서 고민했다.

극복 방법

  • private(set)은, 외부에서는 읽기만 가능하고 내부에서만 수정이 가능하게 하고 싶을 때 사용한다.
  • private(set) 없이 이러한 기능의 코드를 구현하려면 이렇게 해야 한다.
public class Product {
  private var _serialNumber: String
  
  public var serialNumber: String {
    get {
      return _serialNumber
    }
    set {
      return _serialNumber = serialNumber
    }
  }

}
  • get과 set을 사용하고, 값이 임시로 들어갈 변수를 따로 만들어줘야 하는 등, 손이 많이 간다.
  • 하지만 private(set)을 사용하면 아래처럼 간단하게 해결할 수 있다.
public class Product {
  private(set) var serialNumber: String
}

참조

profile
함께 나아가고자 하는 사람

0개의 댓글