자바 객체 지향의 원리와 이해 - 1장.사람을 사랑한 기술

Jiwon·2023년 1월 8일

'스프링 입문을 위한 자바 객체 지향의 원리와 이해' 책을 읽고 개인적으로 정리한 내용이며, 문제가 있을 시 삭제하도록 하겠습니다.

1장. 사람을 사랑한 기술

  • 기계어
    : 기계가 이해하는 유일한 언어. 2진 숫자 (0,1)

  • 어셈블리어
    : 기계어 명령어와 일상용어를 일대일로 매칭하는 코드표
    -> 일상용어로 프로그램을 작성할 수 있다.

  • C언어
    : Onc Source Multi Object Use Anywhere
    함수 -> 구조적 프로그래밍

  • C++
    : C에 객체 지향 개념 도입
    객체 없는 프로그래밍도 가능 (main() 함수는 클래스와 별개로 존재할 수 있으며, printf() 함수는 클래스나 객체와 관계없이 호출 가능)

  • 자바
    : 객체 지향 언어.
    포인터에 대한 개념 없이 프로그래밍 가능
    객체 지향 언어의 중심에는 클래스(class)가 있다. 객체 object라고 해도 된다.
    자바에서 클래스를 떠나 존재할 수 있는 것은 아무것도 없다.

    심지어 모든 프로그램의 시작점인 main() 메서드마저도 클래스 외부가 아닌 내부에 존재해야 한다. 그리고 모든 메서드도 클래스.메서드명() 또는 객체.메서드명() 으로 접근해야 한다.

  • CBD Component Based Development
    컴포넌트 기반 개발
    애플리케이션을 통째로 개발하지 말고, 애플리케이션을 의미 있는 단위로 구분하고 그 단위를 하나 하나씩 부품으로 개발해 마치 레고 블록을 쌓아 올리듯 부품을 결합해 소프트웨어 제품을 완성하자는 방법론이자 기법.
    (제품이 아니다)

  • SOA Service Oriented Architecture
    서비스 중심 구조 또는 서비스 지향 구조
    개발자 입장에서의 개발이 아니라 실제 현실의 업무를 기준으로 개발하자는 사상.
    (제품이 아니다)


자바나 C#은 제품 이며,
이 제품 속에는 각 제조사가 생각하는 객체 지향 방법론의 사상 및 개념이 숨어들어 있다.

객체 지향은
- 객체 지향 4대 특성, 객체 지향 설계 5원칙, 디자인 패턴 등의 개념이 정립됐다.

  • 스프링 프레임워크
    스프링 프레임워크는 OOP 프레임워크라는 개념을 제품화한 것
    스프링을 지배하는 근원적인 요소 : 스프링 삼각형 (IoC/DI, AOP, PSA)
    -> POJO (Plain Old Java Object)에 세 가지 유형의 진동을 줌으로써 거대한 프레임워크 완성

    쓰는 이유

    1. 구현하는 데 필요한 거의 모든 서비스 지원
    2. PSA(일관성 있는 추상화) 기법을 통해 다양한 기술을 표준화된 방식으로 사용할 수 있게 지원
    3. 스프링을 도입하면 더 쉽고 편하게, 더 안정적으로 개발 가능
profile
과연 나는 ?

0개의 댓글