📖 책책책 책을 읽읍시다. 📖/자바 객체 지향의 원리와 이해5 Chapter 6. 스프링이 사랑한 디자인 패턴 이번에는 디자인 패턴에 대해서 알아보자. 디자인 패턴은 설계 패턴이다. 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 베스트 프랙티스를 정리한 것이다. 디자인 패턴은 당연히 객체 지향 특성과 설계 원칙을 기반으로 구현돼 있다. 스프링 프레임워크는 많은 개발자들이 사랑한 개발 프레임워크이다. 스프링 프레임워크 : 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 책의 필자는 스프링 프레임워크를 OOP 프레임워크라고 표현했다. (객체 지향의 특성과 설계 원칙을 극한까지 적용한 프레임워크이다.) 디자인 패턴은 객체 지향의 특성 중 상속(extends), 인터페이스(interface/implements), 합.. 2024. 12. 3. Chapter 5. 객체 지향 설계 5원칙 - SOLID 객체 지향 언어를 통해 객체 지향 프로그램을 올바르게 설계해 나가는 방법이나 원칙에 대해 알아보자. SOLID에 대해 간략하게 보면 다음과 같다. SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 DIP(Dependency Inversion Principle) : 의존 역전 원칙 위의 원칙들은 응집도는 높이고, 결합도는 낮추라(개인적으로 개발을 하면서 머리에 늘 새기는 것이다..🥸)는 고전 원칙을 객체 지향의 관점에서 재정립.. 2024. 11. 26. Chapter 4. 자바가 확장한 객체 지향 객체 지향의 4대 특성을 넘어 자바가 객체 지향을 확장하기 위해 사용하는 키워드와 개념을 살펴보자. | abstract추상 메서드와 추상 클래스에 대해서 알아보자. 추상 메서드 : 선언부는 있는데 구현부가 없는 메서드를 말한다. 추상 클래스 : 추상 메서드를 하나라도 갖고 있는 클래스를 말한다. 이들은 공통 동작을 정의하고 다형성을 제공하기 위한 중요한 도구이다. Animal을 상속 받은 동물들에게 sound()라는 메서드는 공통 동작이다. 만약, abstract를 사용하지 않으면 개발자가 soud가 아니라 다른 메서드 명으로 정의하거나 누락 시켰을 때 이를 인지하지 못하게 된다. 따라서, abstract 키워드를 사용해서 반드시 sound()라는 메서드를 구현하면서, 공통 동작을 정의할 수 있게 하.. 2024. 11. 26. Chapter 3. 자바와 객체 지향 기존의 구조적 프로그래밍에서 가장 중요하게 여겨지는 것은 함수이다. 함수는 코드를 논리적 단위로 구분하고 분할해서 정복하다는 것이다. Divide & Conquer 전략이다. 함수는 논리적 단위의 블록이라고 할 수 있다. 객체 지향을 이해하기 위해서 다음의 사항을 살펴보자. 세상에 존재하는 모든 것은 사물인 객체이다. 각각의 사물은 고유하다.사물은 속성을 갖는다. 사물은 행위를 한다. 그리고 우리는 이러한 사물을 분류(class)해서 이해한다. 김연아(Object)는 사람이라는 분류(class)에 속한다. 김연아(Object)는 나이, 몸무게, 키와 같은 속성(property)를 가진다. 김연아(Object)는 먹다, 자다, 걷다와 같은 행위(method)를 가진다. 위를 통해서 알 수 있는 점은 객.. 2024. 11. 25. Chapter 2. 자바와 절차적 / 구조적 프로그래밍 Java는 Write Once Run Anywhere 이라고 한다. Java로 작성된 프로그램이 한 번 작성되면 다양한 플랫폼에서 수정 없이 실행될 수 있다는 것이다. JDK, JRE, JVM에 대해서도 알아두면 좋다. T자 메모리 구조Java를 더 잘 활용하기 위해서는 우선, Java가 어떤 방식으로 메모리를 사용하는지 알아야 한다.코드 실행 영역데이터 저장 영역 하나의 프로그램이 실행될 때는 위와 같이 코드 실행 영역과 데이터 저장 영역으로 나뉜다. (모든 프로그래밍 언어의 공통된 메모리 사용 방식이다.) 그리고 객체 지향 프로그램에서는 데이터 저장 영역을 다시 세 개의 영역으로 분할해서 사용한다. Static 영역 - 클래스들의 놀이터Stack 영역 - 메서드들의 놀이터Heap 영역 - 객체들.. 2024. 11. 24. 이전 1 다음