반응형 OOP2 캡슐화는 무엇인가? 캡슐화는 자바와 같은 객체지향 언어를 처음 배우게 되면 객체지향의 장점으로 정의되는 이론 중 하나이다. 하지만 많은 개발 입문자들이 메소드에 왜 코드를 숨겨야 하는지 이론적으로만 알고 넘어가는 이유가 다수다. 그리고 언어를 배울 때 필요성이 직접적으로 느껴지지 않기 때문에 개념만을 살피게 된다. 물론, 교육을 받을 시간 동안 이러한 추상적인 이론에 붙잡혀 있을 여유가 없을 것이라고 생각한다. 나도 그랬다. 하지만 개발자는 변화에 대응해야 하고 객체지향 언어에서 핵심은 캡슐화와 인터페이스에 있다는 것이었다. 이글은 오브젝트의 저자 조영호님의 책을 바탕으로 정리한 글입니다. http://www.yes24.com/Product/Goods/74219491 코드를 숨기는 캡슐화의 장점 코드를 숨긴다는 것은 객체 .. 2023. 4. 28. OCP 원칙을 지키지 못할 상황일때 OCP: 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. ocp는 로머트마틴이 정한 객체지향 SOLID 원칙에서 O 부분에 해당하는 5가지 중 핵심원칙이다. 객체지향 언어를 처음 배울 때 쉬운 예로 어떠한 클래스 객체를 사물에 대입시켜 그 사물에 큰 주제로 피라미드 형식으로 상속받아 뻗어 나가는 형태를 취하는 식으로 배운다. 예를 들어 TV라는 추상적 사물이 있다면 TV에 속한 스마트 TV, 아날로그 TV 등 TV라는 구상체에 존속되는 실질적인 구현체를 사용하게 된다. 여기서 Java 기준으로 TV가 추상화 클래스이라는 것을 알 수 있다. 추상화라는 개념을 아는 개발자는 이제 새로운 TV 제품의 기능을 설계할 때 TV 추상화 클래스를 상속하는 하위 클래스를 만들어 해당 하위 클래스에 .. 2023. 3. 22. 이전 1 다음