스프링을 이해하기 위한 이전의 기술
- SOA (Service Oriented Architecture) - 서비스 지향구조
- CBD (Component Based Development) - 컴포넌트 기반 개발
- OOP (Object Oriented Programming)
- 절자적 / 구조적 프로그래밍
- 기계어 / 어셈블리어
기계어 -> 객체지향 프로그래밍 언어로
- 0과 1의 행진 (에드삭, 유니박)
- 애드삭 전욕, 유니박 전용 기계어가 필요하며 호환이 불가능
어셈블리어
- 인간지향적
- 니모닉 (add, plus)과 기계어의 일대일 코드 매칭표
- cpu별 어셈블리어 필요
C언어 - 강력한 이식성
- one source multi object use anywhere
- 컴파일러로 cpu별 소스 번역
- 그러나 컴파일전 기종에 맞게 소스 변경이 필요
- 구조적 프로그래밍
- 포인터
C++언어
- C에 객체지향 도입
- 포인터
- 객체없는 프로그래밍 가능- 객체 지향 지원 언어에 가까움
자바
- 가상머신 JVM
- Write Once Use Everywhere
- 기종이 몇개든 단하나의 jvm 기계어 생성
- 단하나의 컴파일러만 필요(기종별 jre 세팅만)
- 한 번의 컴파일러로 이기종 간에 이식성 확보
* 스프링 프레임워크는 사상이면서 단일 제품
- OOP 프레임워크
- IoC, DI, AOP, PSA, WEB, ORM, OSM, Security, Test, iBatis, Hibernate, JPA, JMS, Web Service, Schedule, JNDI, Email, JMX, Lime, Groovy, BeanShell, RMI, Struts, Velocity, PDF, Excel, --- on POJO, SOLID and OOP Design
스프링 삼각형 - 스프링을 지배하는 근원적 요소
- IoC/DI
- AOP
- PSA (Portable Service Abstraction : 일관성 있는 추상화)
- * POJO (Plain Old Java Object)
[참고]
스프링 입문을 위한 자바 객체 지향의 원리와 이해
'JAVA > 객체지향의 원리' 카테고리의 다른 글
[객체지향의 원리와 이해 3] 자바와 객체 지향 (0) | 2023.06.26 |
---|---|
[객체지향의 원리와 이해 2] 자바의 절차적 / 구조적 프로그래밍 (0) | 2023.06.26 |
[OOP] interface / 인터페이스 (0) | 2022.09.07 |
[OOP] abstract / 추상화 (0) | 2022.09.05 |
[OOP] Inheritance / 상속 (0) | 2022.08.19 |