DAO란

**Data Access Object**로 DB에 접근해 **직접 데이터를 조회하거나 조작**하는 기능을 하는 오브젝트


자바빈

원래는 비주얼 툴에서 조작 가능한 컴포넌트를 말했다. 하지만 지금은 **디폴트 생성자**를 갖추고,

**프로퍼티를 가진 오브젝트**를 말한다. 디폴트 생성자를 갖춰야 하는 이유는 리플렉션을 이용하기 위해서이다.


리팩토링의 정의

기능은 변하지 않았지만 코드스멜 제거 등 깔끔하고 변화에 대응할 수 있는 코드로 만드는 것

메소드로 중복된 코드를 뽑아내서 정리 -> 메소드 추출 기법 리팩토링은 ****객체지향 개발자에게 꼭 필요한 기법이다.


상속의 단점