객체지향과 디자인패턴2 [객체지향과 디자인패턴] 상속의 단점 3가지, 보완점 상속의 단점 3가지는 다음과 같다. 첫번째 단점: 상위 클래스 변경의 어려움이 있다. 상위 클래스가 변경되면 하위 클래스도 영향을 받기에 하위 클래스도 수정해야하는 단점이 있다. 두번째 단점: 클래스의 불필요한 증가를 유발할 수 있다. 해당 기능이 필요해서 상속을 받아 클래스를 만들었다. 그런데 이후 또 다른 기능이 필요해서 상속 받은 클래스에서 다시 상속을 받는 클래스를 만들었다. 이는 계층 구조가 계속 깊어지며 유지보수가 어렵고 재사용의 장점인 상속의 장점도 없어지게 된다. 세번째 단점: 상속을 잘못 사용할 수 있다. 상속은 IS-A 관계일 때 사용하는 것이다. 같은 책임을 갖는 관계가 되야한다. 그런데 비슷한 책임을 갖고 있다고 사용했다가 IS-A 관계가 아니여서 원하지 않는 방식으로 동작할 수 있.. 2024. 2. 29. [객체지향과 디자인 패턴] 캡슐화를 하는 이유 캡슐화를 찾아보면 다음과 같이 말한다. 캡슐화란 내부 동작을 숨김으로 데이터 은닉화를 하는 것이다. 객체의 데이터(속성)와 그 데이터를 조작하는 메서드(함수)를 하나로 묶는 것이다. 캡슐화의 주요 목적은 객체 내부의 구현 세부 사항을 숨기고, 사용자에게는 해당 객체를 사용하는 데 필요한 인터페이스만을 제공하는 것이다. 그래서 왜 하는거지?? 캡슐화를 하는 이유는 구현 변경을 쉽게 하기 위함이다. 구현 변경을 쉽게 하기 위해 메서드를 만들어서 해당 메서드 안에서 작업을 처리하도록 한다. 따라서 요구사항 변화가 생겼을 때, 해당 메서드만 수정하면 된다. 캡슐화된 기능을 사용하는 코드에는 영향이 없게 되는 것이다. 참고: 2024. 2. 29. 이전 1 다음