pe

Object, Class, Inheritance(상속), concealment(은닉), polymorphism(다형성), encapsulation(캡슐화) - 20110224

C/H 2011. 2. 21. 19:10
문) Object,  Class,  Inheritance(상속), concealment(은닉), polymorphism(다형성), encapsulation(캡슐화)

Object
  1. 클래스로 이루어져 규정되어 구현된 결과(인스턴스).
  2. 저장공간에 할당된 공간과 값을 의미한다.
  3. 실세계에서 어떤사람이 집에서 살기를 원할때 그 집의 청사진이나 축소모형 따위는 필요없고, 필요한것은 설계에 맞는 집이다. 이 유추에서 청사진을 클래스, 실제집은 객체이다.


Class
  1. 공통성질을 가진 종류의 집합.
  2. 객체지향 프로그래밍에서 객체내에 있는 메소드와 변수를 정의하는 틀.
    1. 클래스는 전부 혹은 일부를 그 클래스 특성으로부터 상속 받는 서브클래스를 가질 수 있다.
    2. 스브클래스는 자신만의 메소드와 변수를 정의할 수 있다.
    3. 클래스와 서브클래스 간의 구조를 "클래스 계층(hierarchy)"라 한다.



inheritance

  1. 클래스의 함수성 즉 행위가 분명히 정의된다면, 클래스의 재사용이 확실히 보장된다.
  2. 재사용성을 위한 "분명한 정의" 원칙
    1. 매서드는 더 이상 나누어 질 수 없는 단일 기능만 실행할 수 있도록 응집된 최소의 단위함수로서 서로 밀접하게 관계되는 함수그룹을 수행한다.
    2. 메서드는 재사용이 가능하도록 최소화되어야 한다.
    3. 유사한 메서드는 이름부터 매개변수, 자료형, 반환값, 조건에 이르기까지 동일한 구조를 갖도록 일관성이 있어야 한다,
    4. 알고리즈은 자체적으로 종결되어야 한다,
    5. 메서드는 모든 조건에서 일어날 수 있는 일치된 적용범위를 가져야 한다.
    6. 메서드는 추후에 확정될 수 있도록 매개변수면, 조건, 구문등이 일반화되어야 한다.
    7. 메서드는 외부참조 내지는 전역변수의 사용을 되도록 피해야 한다.
    8. 메서드의 행위는 쉽게 변경할 수 있도록 특정한 구문에 종속되지 않아야 한다.


concealment
  1. OOP (Object Oriented Programming) 3원칙.
  2. 프로그램은 처리 활동을 은폐하여 정의되어진 인터페이스에 의해서만 전달.
  3. 객체는 자신의 상태를 기억하기위한 속성과 이를 관리하는 동작을 정의한다. 이중 일부만 사용할수있게 하는것을 정보은폐라고한다.


polymorphism

  1. 객체지향에서 다형성은 매개변수(=아규먼트)등을 하나의 메서드로 선언하여 사용해 매개변수에 리턴값이 변하는 혁식.
  2. 오버로드, 오버로딩의 으해 구현되는 기법으로 오버로드는 객체안에 함수명은 같지만 매개변수 타입과 개수가 다른것을 말한다.
    오버라이딩은 함수 이름과 매개변수타입이 완전 일치하는것을 말한다.


encapsulation
  1. 관련있는 데이터와 코드를 한 울타리 안으로 모으는 것.
  2. 하나의 클래스 안에 필듣르과 메소드들을 정의한다. 단 클래스의 특성과 관련되어야 한다.
  3. 캡슐화를 함으로서 정보은익이 이루어진다.





반응형