절차지향 데이터를 여러 프로시저가 공유하는 방식처음 코딩을 배우면 절차 지향을 배우게 된다변수, 필드 선언, 그 변수나 필드를 조작하는 방식 -> 난이도가 쉽다하지만, 데이터를 공유하는 방식은 시간이 흘러갈수록 구조를 점점 복잡하게 만들 수 있다.\-> 수정을 어렵게
캡슐화란 ? 데이터 + 관련 기능 묶기객체가 기능을 어떻게 구현했는지 외부에 감추는 것, 정보 은닉 의미도 포함캡슐화를 하는 가장 큰 이유 ? 캡슐화를 하게 되면 외부에 영향 없이 객체 내부 구현 변경이 가능하다.Account의 멤버쉽을 체크하는 로직의 변경이 있을 때
스프링 프레임 워크 초기버전에서 웹 요청을 처리하기 위한 클래스의 계층 구조를 보여준다.하위 타입 클래스는 상위 타입 클래스를 확장하는 특징이 있다.상속을 상위 클래스의 기능을 재사용, 확장하는 방법으로 활용하지만상위 클래스를 변경하게 되면 모든 하위 클래스에 영향을
다형성과 추상화, 다형성 보다는 추상화에 대해서 더 집중캡슐화와 더불어서 객체지향 프로그래밍에 있어 필수적인 것이 추상화그만큼 매우 중요합니다.여러 (poly) 모습(morph)을 갖는 것객체지향에서는 한 객체가 여러 타입을 갖는 것 \- 즉 한 객체가 여러 타입의 기
기능은 하위 기능으로 분해가 가능이렇게 하나의 기능은 여러 하위 기능을 이용해서 구현하게 된다.기능은 곧 책임 \- 분리한 각 기능을 알맞게 분배하는 것 (객체지향 설계의 기본 과정)즉 , 기능분리 후 각 객체에게 분리한 기능을 배분하는 것ex) 암호변경 전체 기능을
기능 구현을 위해 다른 구성 요소를 사용하는 것 \- 의존의 예 : 객체 생성, 메서드 호출, 데이터 사용 의존은 변경이 전파될 가능성을 의미 \- 의존하는 대상이 바뀌면 바뀔 가능성이 높아짐예 : 호출하는 메서드의 파라미터가 변경예 : 호출하는 메서드가 발생할