OOP
[Spring Core #1] 스프링의 객체 지향 원리 적용 (스프링 핵심 원리 강의정리)
[Spring Core #1] 스프링의 객체 지향 원리 적용 (스프링 핵심 원리 강의정리)
2022.07.01Index 📌 새로운 요구사항의 추가 📌 관심사 분리 📌 AppConfig 리팩토링 📌 좋은 객체 지향 설계 5가지 원칙 적용 📌 IoC, DI, 컨테이너 📌 정리 해당 내용은 강의 내용을 기억하기 위한 정리글입니다. 자세한 내용은 강의에서 확인하실 수 있습니다. (저는 코틀린 베이스로 강의를 진행하였고 게시글의 코드 예시는 대부분 코틀린으로 이루어져 있습니다.) 스프링 핵심 원리 - 기본편(김영한님) #광고아님, #내돈내산, #적극추천 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 📌 새로운 요구사항의 추가 주문서비스가 있고 주문..
[Spring] 객체 지향 설계를 극대화한 스프링의 핵심 개념 정리
[Spring] 객체 지향 설계를 극대화한 스프링의 핵심 개념 정리
2022.06.20Index 📌 스프링 탄생 배경 - EJB의 한계 - 스프링의 등장 📌 스프링의 핵심 📌 객체 지향 5가지 원칙과 스프링 - 스프링 IoC와 DI - 스프링은 객체지향 원칙을 잘 준수해요 📌 정리 📌 1. 스프링의 탄생 배경 1-1. EJB 한계 지금은 알 필요가 없는 EJB읜 한계를 극복하기 위해 로드 존슨 형님이 스프링을 제안하였고 이를 개발했습니다. (유겐 휠러 형님이 사실상 스프링 대부분의 코드 지분을 가지고 있음) EJB(Enterprise Java Beans)에 대해서 본인은 이쪽 세대도 아니었고 한 번도 사용해본 적이 없었기 때문에 EJB 개념조차 제대로 알지 못합니다. 하지만 스프링이 왜 태어났는지에 대해서 찾아보거나 강의를 듣게 되면 EJB는 빠짐없이 등장합니다. 대략적으로 스프링이 탄생..
[Spring] 인터페이스 특징과 ISP(인터페이스 분리 원칙)에 대한 정리
[Spring] 인터페이스 특징과 ISP(인터페이스 분리 원칙)에 대한 정리
2021.07.21Java 인터페이스의 특징 OOP의 인터페이스 분리 원칙 인터페이스 상속 정리 📌 1. Java 인터페이스 특징 Java 인터페이스는 다형성을 가장 잘 보여주는 존재입니다. public interface RemoteController { void volumeUp(); void volumeDown(); } 리모컨이라는 인터페이스를 가지고 간단한 예시를 들어보겠습니다. @Component public class SRemoteController implements RemoteController { @Override public void volumeUp() { // volume up 로직 System.out.println("S사 리모컨 볼륨을 1단계 높였습니다."); } @Override public void ..
[OOP] 객체 지향 프로그래밍은 무엇일까
[OOP] 객체 지향 프로그래밍은 무엇일까
2021.06.21Spring은 객체 지향의 꽃이라고 들었는데... 면접에서도 단골 질문 메뉴인 객체 지향은 무엇일까. 📌 객체 지향(Object Oriented) 개발자들이 더욱 편하게 개발할 수 있는 방법론을 고안하는 과정에서 나온 결과물 중 하나라고 생각 현실 세계를 프로그래밍적으로 잘 표현할 수 있는 모델 But, 우리는 개발자이므로 사물 관련된 것보다 추상적 대상에 대한 클래스화에 초점 (본인 생각으로는 확장과 분리를 잘 하게끔 만들어주는 좋은 틀이라 생각, OCP를 생각해보면 그렇습니다.) 구조적 프로그래밍 함수(function)가 가장 중요한 요소(함수 단위) Divide and Conquer(분할 정복)에 기반해 명령어를 논리적 단위로 나눠 블록화해 작성 객체지향 프로그래밍 등장 Object(객체) 단위로 ..
[Java] Access Modifier - 접근한정자에 대한 공부
[Java] Access Modifier - 접근한정자에 대한 공부
2019.12.02Java에서 OOP개념에 들어가면 public, private, ... 등을 많이 볼 수 있다. 이들은 접근한정자(Access Modifier)라고 부른다. 정확한 정의는 아니지만 본인이 생각하기에 말 그대로 객체를 생성할 때나 클래스 자체를 사용하고 싶을 때 해당 클래스 내부의 정보들을 이용하는데 있어 제한할 수 있는 기능을 가지고 있다. 이번 시간에는 이런 접근한정자(한정자도 포함해서)들에 대해서 공부한 내용을 정리해보고자 한다. Notice.java / package java_20191122.aa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package java_20191122.aa; // p..
[Java] Class - Abstract Class를 사용하는 이유(두 번째)
[Java] Class - Abstract Class를 사용하는 이유(두 번째)
2019.11.28전 단계에 이어서 보겠다. 📌 1. Step 4. 🔖 1-1. StopMilliWatch public class StopMilliWatch { // StopNanoWatch class의 맴버변수와 겹친다. // 나중에 새로운 클래스 만들시 또 이 맴버변수를 만들어주어야 한다. private long startTime; private long endTime; // 아래 3개의 method도 StopNanoWatch class와 비슷하다. public void start() { startTime = System.currentTimeMillis(); } public void stop() { endTime = System.currentTimeMillis(); } public double getElapsedTim..