객체지향의 4대 특징을 정리하면서 추상화를 설명할 때 인터페이스를 예로 들어 설명을 했다. 공통적인 속성과 기능을 정의하기 위해 인터페이스를 사용한다라고 설명했다. 그럼 내가 알고 있는 인터페이스와의 개념과 사용용도를 생각해 보자. 인터페이스는 기술명세서 또는 다양한 구현체가 존재할 수 환경에서의 기초가 되는 틀정도 개념으로 사용하였다. 예를 들어 설명하자면 스프링 프로젝트에서 비즈니스 로직을 구현하는 Service단에서 기능 구현 전 인터페이스를 생성하여 기능의 명세만 먼저 작성하는 행위, DB가 정해지기 전 작업을 진행하기 위해 기준 Repository를 인터페이스 선언하여 구현하는 행위 등의 용도로 사용하였다. 이제 인터페이스의 특징과 기능을 정리해 보고 그것이 객체지향 관점에서 어떤 역할을 하는지..
객체지향

객체지향은 4가지 특징을 가지고 있다. 이 4가지 특징에 대해서는 자주 들어 알고 있지만 올바르게 개념을 가지고 있는지는 확인할 필요가 있어 정리를 해보았다. 객체지향의 4가지 특징 캡슐화 상속 추상화 다형성 캡슐화 캡슐화란 변수나 메서드들을 캡슐로 감싸서 안 보이게 하는 정보 은닉 개념 중 하나이다. 객체의 개념에서 볼 때는 객체의 속성(Field)과 행위(Method)를 하나로 묶고, 실제 구현 내용의 일부를 외부에 감추어 은닉하여 외부에서 객체 내부에 어떤 속성이 있는지 완벽하게 알지 못해야 하는 것을 의미한다. 캡슐화는 객체의 속성과 행위를 하나로 묶음으로써 높은 응집도를 가지며, 객체의 내부 상태를 직접적으로 접근하지 못하게 막음으로써 결합도를 낮아지게 한다. public class Person..