프로그래밍
-
고급 객체지향 프로그래밍(3)객체지향 2020. 1. 20. 21:33
3. 캡슐화 3.1. 객체의 캡슐화 원칙 객체지향 패러다임의 캡슐화는 연관된 속성들과 연관된 오퍼레이션들을 하나의 단위인 객체로 묶어서 정의하는 원칙이다. 객체가 특정 기능을 제공하는 데 필요한 속성 및 오퍼레이션을 한 캡슐에 모아서 정의해야 한다. 3.2. 객체안의 관련성 종류 객체는 관련된 속성들과 오퍼레이션들을 모아놓은 캡슐인데, 여기서 관련이 있다는 것이 구체적으로 무엇을 의미하는지 살펴보자 3.2.1 속성들 간의 관련성 객체는 관련이 있는 여러 속성들로 구성되어야 하는데, 이 속성들 간의 관련성은 두 가지 형태로 나타낸다. * 유형 1 상태 유지 완전성 관점의 관련성 객체는 그 상태 유지를 위해 필요한 속성들의 완전한 집합을 가져야 한다. 예를 들면 원이란 도형 객체의 상태를 유지하기 위해서 x..
-
고급 객체지향 프로그래밍(2)객체지향 2020. 1. 17. 23:04
2. 객체 2.1. 객체의 정의 객체는 객체지향 패러다임에서 프로그램을 구성하는 기본 단위이다. 개발하려는 목표 시스템의 업무 영역에 실제로 존재하는 어떤 사물, 개체 또는 개념이 바로 객체가 된다. - Person: 인사관리 시스템에 사용되며, 조직의 직원을 나타내는 객체 - Car: 자동차 생산관리 시스템에 사용되며, 생산된 자동차를 나타내는 객체 - Book: 서점의 도서판매 시스템에 사용되며, 판매할 책을 나타내는 객체 객체지향 프로그램은 여러 개의 객체들로 구성되어 있으며, 각 객체는 상태(State) 정보를 기록 유지하기 위한 속성들과 이 속성들을 처리하는 오퍼레이션 집합으로 정의된다. 즉, 각 객체는 관련성이 높은 속성들과 오퍼레이션들을 포함하고 있다. 잘 설계된 객체는 재사용의 기본 단위가..
-
고급 객체지향 프로그래밍(1)객체지향 2020. 1. 17. 21:14
객체지향의 개념을 배워보기에 앞서 객체지향 프로그래밍이 어떻게 생겨나게 되었고 이를 왜 사용하는지에 대해서 알아보자 1.1. 소프트웨어 위기와 객체 기술 소프트웨어 위기는 소프트웨어 기술 발전 속도가 컴퓨터 하드웨어 기술 발전 속도보다 뒤떨어짐으로써 발생되는 문제이다. 즉, 하드웨어 품질은 좋아지면서 가격은 성능대비 낮아지고 있는데, 소프트웨어는 품질이 크게 개선되지 않으면서 오히려 개발 및 운영 비용은 증가하고 있다는 것이다. 소프트웨어 위기의 두가지 원인은 점점 증가하는 소프트웨어 복잡도와 높은 비용이다. 소프트웨어의 개발 요구사항은 복잡해져 가는데, 이 복잡도를 효과적으로 해결할 수 있는 기술이 크게 발전하지 못하면서, 개발 및 운영 비용이 증가하는 것이다. 소프트웨어 위기 문제를 해소하기 위해 개..