기록방

java 객체 지향 #1 본문

FrameWork/스프링

java 객체 지향 #1

Soom_1n 2022. 9. 29. 16:12

 

"스프링 입문을 위한 자바 객체 지향의 원리와 이해"

 

스프링 입문을 위한 자바 객체 지향의 원리와 이해 - YES24

자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량 애플리케이션 프레임워크인 스프링은 자바와 객체 지향이라는 기반 위에 굳건히 세워져 있다. 따라서 스프링을 제대로 이해하고 활용

www.yes24.com

 

1️⃣ 사람을 사랑한 기술


기계어부터 스프링까지 기술의 발전이 눈부시고 그만큼 배워야 할 것들이 많다.

C언어를 배우고 C++이나 java를 배우며 추가되는 개념들에 어려워 하는 사람들이 많지만, 개발자를 위해 만들어진 것들이란 걸 이해하면, 배우고 싶어지고 알아야만 하게 된다…!

🚀 기계어에서 객체 지향 프로그래밍 언어로

기계어 → 어셈블리어 → 생략 → C언어 → C++ (객체 지향) → JAVA(진정한 객체 지향 언어)

🚀 기술이 개발자를 어떻게 더 사랑하게 만들었는가

 

언어 발전사 개발자 사랑
기계어 - 개발자를 사랑하기에는 너무 초창기 기술
- 탄도의 궤적은 계산 가능
어세블리어 - 인간의 언어로 프로그램 작성이 가능
C  - 하나의 소스로 이기종 간 이식성 확보
C++ - 객체 지향 개념 도입
- 인간적 사고의 프로그래밍 방식
자바 - 한 번의 컴파일로 이기종 간 이식성 확보
- 포인터에 대한 개념 없이 프로그래밍 가능
스프링 프레임워크 - IoC/DI, AOP, PSA라고 하는 객체 지향의 베스트 프랙티스만으로 아무리 거대한 프로그램이라도 쉽게 구현할 수 있음을 보여준 프레임워크. 단, 세 기술 안에 녹아든 개발자 사랑을 이해해야 스프렝 프레임 워크도 이해 가능

새로 등장했을 때 C, C++, Java도 배척받곤 했음

🚀 UML을 대하는 자세

UML(Unified Modeling Language)은 의사소통의 도구이며, 표기 방법론일 뿐이다. 의사소통을 위해서라면 틀어서 표기해도 괜찮다.

  • 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어
  • 소프트웨어 집약 시스템의 시각적 모델을 만들기 위한 도안 표기법을 포함

🚀 당신은 CBD, SOA가 어려운가?

컴포넌트 기반 개발(CBD; Component Based Debelopment)서비스 중심 구조/서비스 지향 구조(SOA; Service Oriented Architecture) 는 많은 개발자들이 배우는걸 어려워했다. 그 이유는 ‘제품’이 아니고 방법론이자 기법이기 때문인데, 대표적인 ‘제품’이 없기 때문이다. 그저 사상일 뿐이다.

🚀 객체 지향의 4대 특성을 누군가에게 설명할 수 있는가?

객체 지향 방법론은 이름 그대로 방법론임.

C#이나 Java는 ‘제품’이기 때문에, 그 속의 제작사가 생각하는 객체 지향 방법론의 사상 및 개념이 숨겨져 있는 것.

객체 지향은 긴 세월 속에 정제되어 거의 모든 이가 동의하는 객체 지향 4대 특성, 객체 지향 설계 5원칙, 객체 지향의 베스트 프랙티스 모음인 디자인 패턴 등의 개념이 정립됨.

⇒ 제품 속에 녹아있는 객체 지향 4대 특성을 제대로 이해해야, 사상을 담아낸 객체 지향 프로그램을 만들 수 있음.

🚀 스프링 프레임워크는 사상이면서 또 단일 제품이다

스플링은 개발 사상과 개발 지원 제품 가운데 선봉.

훌륭하게 이전 기술들의 어깨를 딛고 정상에 오른 제품.

그렇기에 객체 지향을 모르고 스프링을 안다는 것은 어불성설.

 

스프링의 개념은 간단히 말하면 OOP 프레임 워크이다.

길게 얘기하면 ‘OOP 프레임 워크 with IoC, DI, AOP, PSA, … , POJO, SOLID and OOP Design Patterns’ 라고 할 수 있다.

 

이 것이 스프렝 프레임 워크를 공부하고 이해하기 어려운 2번째 이유 (1번째는 객체 지향을 잘 몰라서)

이 중에서 3개는 필수로 공부하고, 나머지는 필요한 내용만 취해서 학습하면 된다.

 

스프링 프레임워크에는 스프링 삼각형이라고 하는 근원적 요소 IoC/DI, AOP, PSA 가 있다. (7장)

또, 스프링 삼각형은 POJO(Plain Old Java Object)에 세 가지 유형의 진동을 줌으로써 거대한 프레임워크를 완성해냈다.

 

스프링 프레임우커는 ORM, OXM, JMS, AOP, CoC 등 엔터프라이즈 애플리케이션(Enterprise Application)을 구현하는 데 필요한 거의 모든 서비스를 지원한다.

 

PSA(일관성 있는 추상화) 기법을 통해 여러 기업의 중구난방으로 구현된 다양한 기술을 표준화된 방식으로 사용할 수 있게 지원해준다. 더 쉽고 안정적인 엔터프라이즈 애플리케이션 개발이 가능하다.

 

원본 노션 정리 글

 

java 객체 지향 #1

1️⃣ 사람을 사랑한 기술

probable-legume-162.notion.site

 

728x90