1. 코드 유연성 극대화, 객체지향 모델의 다형성의 개념/특징 (1) 다형성 (Polymorphism)의 개념 개념도 개념 같은 메시지(메서드 호출)에 대해 객체의 타입에 따라 다른 동작을 수행하는 객체지향 모델의 특성 (2) 다형성의 특징 동적바인딩 – 프로그램이 실행되는 시점에 호출할 번지나 함수 연결 확장성 지원 – 수평적 확장성인 Overloading과 수직적 확장성인 Overriding 지원 재사용성 지원 – 기존에 구현된 부분은
1. 핵심 개념 모델링, 객체지향 모델의 추상화의 개념 및 목적 (1) 추상화 (Abstraction)의 개념 개념도 개념 복잡한 시스템의 핵심 기능을 모델링하고, 불필요 세부 사항은 감추어 단순화하는 객체지향 모델의 특성 (2) 추상화의 목적 핵심에 집중 – 복잡한 구현 세부 사항을 숨기고, 중요한 인터페이스만을 노출하여 사용자가 쉽게 이해 유연한 설계 – 내부 구현이 변경되더라도 외부 인터페이스는 그대로
1. 객체 정보 은닉, 객체지향 모델의 캡슐화의 개념 및 목적 (1) 캡슐화 (Encapsulation)의 개념 개념도 개념 관련 있는 데이터(속성)와 기능(메서드)을 하나의 클래스로 묶고, 구현 내용을 외부에 숨겨 외부의 직접적인 접근을 제한하는 객체지향 모델의 특성 (2) 캡슐화의 목적 내부 데이터 보호 – 외부에서 클래스 내부의 데이터/기능에 직접 접근 및 조작 차단 모듈 독립성 향상 – 객체의