해보자고

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

독서 일상

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

초코맛동산 2023. 9. 13. 14:50

 

[용어]

SOA(Service Oriented Architecture | 서비스 지향 아키텍처) : 소프트웨어 기능을 서비스를 중심으로 시스템 전체를 구축해 가는 아키텍처 

CBD(Component Based Development | 컴포턴트 기반 개발) : 컴포넌트의 재사용으로 개발 생산성 향상 및 개발 기간 단축, 신뢰성 높은 소프트웨어를 생산할 목적으로 컴포넌트를 생성, 조립하여 소프트웨어를 개발하는 방법. 애플리케이션을 의미 있는 단위로 구분하고, 그 단위를 하나하나씩 부품으로 개발해 레고 블럭을 쌓아 올리듯 부품을 결합해 소프트웨어 제품을 완성하자는 방법론이자 기법.

OOP(Object Oriented Programming | 객체 지향 프로그래밍) : 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것

 

스프링의 근원적인 요소(스프링 삼각형)

- IoC/DI

- AOP

- PSA

 

자바 프로그램의 개발과 구동

현실 세계 가상 세계(자바 월드)  
소프트웨어 개발 도구 JDK - 자바 개발 도구 JVM용 소프트웨어 개발 도구
운영 체제 JRE - 자바 실행 환경 JVM용 OS
하드 웨어 - 물리적 컴퓨터 JVM - 자바 가상 기계 가상의 컴퓨터

- 자바 개발 도구(JDK)를 이용해 개발된 프로그램은 JRE에 의해 가상 컴퓨터 JVM상에서 구동. 

- 자바 개발자는 본인이 사용 중인 플랫폼에 설치된 JVM용으로 프로그램을 작성하고 배포하면 각 플랫폼에 맞는 JVM이 중재자로서 각 플랫폼에서 프로그램을 구동하는 데 문제가 없게끔 만들어 준다. 

+) 잘 정리해 두신 티스토리 내용, 이미지 보고 이해하면 좋을 듯 합니다.

(https://velog.io/@yulhee741/Java-%EC%9E%90%EB%B0%94-JVM-JDK-JRE)

 

[Java] 자바, JVM, JDK, JRE 그리고 JVM 구조

TIL - JVM 이해하기

velog.io

 

자바: 절차적/구조적 프로그래밍의 유산

- 구조적 프로그래밍: 프로그램이 실행될 때 위에서 아래로의 절차, 순서에 맞게 실행되는 방식.

1) 함수를 사용하자 : 중복 코드를 모아서 관리 하기 용이, 논리를 함수 단위로 분리해서 이해하기 쉬운 코드 작성.

2) 지역 변수 사용하자 : 공유 사용시 문제가 될 수 있는 전역 변수보다 지연 변수 사용 권장. 

=> 함수는 객체 지향 언어에서 메서드이므로, 절차적/구조적 프로그래밍의 유산은 메서드에서 확인 가능. 

 

+) 함수 VS 메서드

- 함수는 클래스나 객체와 어떠한 관계X.

- 메서드는 반드시 클래스 정의 안에 존재해야 함.  

+) 절차적 프로그래밍 -> 객체 지향까지의 개념 설명에 용이 

( https://terms.naver.com/entry.naver?docId=3609897&cid=58598&categoryId=59316 )

 

구조적 프로그래밍

순차적으로 프로그램을 짜는 방식. 구조적 프로그래밍은 절차적 프로그래밍 방식, 하향식 및 폭포수 방식이라고도 부르는데 프로그램이 실행될 때 위에서 아래로의 절차, 순서에 맞게 실행되는

terms.naver.com

 

객체 지향 프로그램의 메모리 사용 방식