본문 바로가기

객체지향2

객체지향의 원리 - 캡슐화 객체지향의 원리 Goal 캡슐화에 대해서 이해할 수 있다 캡슐화란? "객체의 속성(data fields)과 행위(메서드)를 하나로 묶고 실제 구현 내용 일부를 외부에 감추어 은닉한다." 객체의 속성과 행위를 하나로 묶는다는 것은 클래스의 개념과 비슷하지만 구현 내용의 일부를 외부에 감추어 은닉한다는 것은 캡슐화의 핵심이다. 따라서 객체에 접근하기 위해서는 객체가 정해놓은 메서드나 필드를 통해서만 접근이 가능하다. 소프트웨어 공학에서 요구사항 변경에 대처하는 고전적인 설계 방식으로는 응집도(cohesion)와 결합도(coupling)가 있다. 응집도 : 클래스나 모듈 안의 요소들이 얼마나 밀접하게 관련되어 있는지를 나타냄 결합도 : 어떤 기능을 수행할 때 다른 클래스나 모듈들에 얼마나 의존적인지를 나타냄 .. 2021. 5. 7.
객체지향의 원리 - 추상화 객체지향의 원리 Goal 추상화에 대해서 이해할 수 있다. 1. 추상화란? "추상화는 사물들의 공통된 특징, 즉 추상적 특징을 파악해 인식의 대상으로 삼는 행위다. 추상화가 가능한 개채들은 개체가 소유한 특성의 이름으로 하나의 집합을 이룬다. 그러므로 추상화한다는 것은 여러 개채들을 집합으로 파악한다는 것과 같다. 추상적 특성은 집합을 구성하는 개채들을 '일반화' 하는 것이므로 집합의 요소들에 보편적인 것이다." 커다란 운동장에 여러가지 다양한 수많은 자동차가 주차되어 있다고 가정하자. 이 자동차들을 그룹화할 때 추상화를 사용할 수 있다. 어떤 사람이 차의 배기량에 따라 차량을 구분하면 경차, 중형차, 대형차 등으로 구분할 수 있다. 따라서 구체적인 사물(자동차)들의 공통적인 특성(배기량)을 파악해서 이.. 2021. 5. 3.