프로그래밍 언어론 · 10강

추상 자료형과 캡슐화 구조

클래스는 왜 속을 감추게 생겼는지, 언어마다 무엇을 감추고 무엇을 내놓는지, 큰 프로그램과 많은 이름은 어떻게 나누는지를 봅니다. 스택 하나를 끝까지 예로 삼아, 프로그래밍을 한 번쯤 해 본 사람을 위해 9편으로 나눠 따라갑니다.

  1. 1왜 속을 몰라도 쓸 수 있을까?추상화, 프로세스 추상화와 데이터 추상화
  2. 2속을 감추면 무엇이 좋아질까?추상 자료형의 두 조건, 정보 은닉, 설계 이슈
  3. 3C++는 무엇을 감추고 무엇을 내놓을까?클래스, private와 public, 인스턴스, friend
  4. 4객체는 어떻게 생기고 사라질까?생성자와 소멸자, 객체가 사는 기간, 헤더와 구현의 분리
  5. 5자바에는 왜 delete가 없을까?힙과 참조, 멤버마다 붙이는 접근 제한자, 패키지 스코프
  6. 6감춘 값은 어떻게 읽고 바꿀까?접근자, C#의 프로퍼티와 struct, 루비의 클래스
  7. 7타입마다 스택을 새로 만들어야 할까?매개변수화된 추상 자료형, 템플릿과 제네릭
  8. 8큰 프로그램은 어떻게 나눌까?캡슐화 구조, 헤더 파일, 어셈블리
  9. 9같은 이름이 둘이면 어떻게 될까?이름 캡슐화, 네임스페이스와 패키지와 모듈, 전체 정리

내용과 예제는 Robert W. Sebesta의 《Concepts of Programming Languages》 12판 11장을 따랐습니다.