서브메뉴

본문

스프링 입문을 위한 자바 객체 지향의 원리와 이해
스프링 입문을 위한 자바 객체 지향의 원리와 이해
저자 : 김종민
출판사 : 위키북스
출판년 : 2015
ISBN : 9788998139940

책소개

위키북스 오픈소스 & 웹 시리즈 69권. 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량 애플리케이션 프레임워크인 스프링은 자바와 객체 지향이라는 기반 위에 굳건히 세워져 있다. 따라서 스프링을 제대로 이해하고 활용하려면 먼저 자바와 객체 지향부터 올바르게 이해해야 한다. 이 책은 자바에서 스프링으로 나아가기 위한 연결 고리를 제공해 준다.
[알라딘에서 제공한 정보입니다.]

출판사 서평

자바에서 스프링으로 나아가기 위한 연결 고리를 제공해 드립니다!

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

모든 기술은 갑자기 하늘에서 뚝 떨어진 것이 아니다. 이전 기술의 어깨를 디딤돌 삼아 그 위에 이전 기술이 제시한 철학과 기법을 정반합의 논리로 정제하고, 이전 기술을 거름 삼아 새로운 철학과 기법을 더해 나타난다. 스프링 또한 이전 기술과 개념에서 좋은 점들을 집대성하고 거기에 자신만의 철학과 기법을 더해 자타가 인정하는 현존 최강의 프레임워크로 발전했다. 따라서 스프링을 학습하고 적용하려면 스프링의 근간이기도 한 이전 기술과 개념에 대한 최소한의 이해가 필요하다. 그리고 스프링의 근간을 이루는 핵심에는 객체 지향 특성과 설계 원칙, 디자인 패턴이 자리 잡고 있다.
[교보문고에서 제공한 정보입니다.]

목차정보

▣ 01장: 사람을 사랑한 기술

__신기술은 이전 기술의 어깨를 딛고

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

____기계어-0과 1의 행진 / 너무나 비인간적인 언어

____어셈블리어-0과 1의 행진을 벗어나 인간 지향으로 / 기계어 니모닉

____C 언어-강력한 이식성 / One Source Multi Object Use Anywhere

____C++ 언어-정말 인간적인 프로그래밍 방법론, 객체 지향

____자바 - 진정한 객체 지향 언어

____신기술은 이전 기술의 어깨를 딛고 개발자를 위해 발전한다

____신기술이 역사 속에서 환영만 받은 것은 아니다

__짧은 글, 긴 생각

____UML을 대하는 자세

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

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

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

__책 출간의 변



▣ 02장: 자바와 절차적/ 구조적 프로그래밍

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

____자바에 존재하는 절차적/구조적 프로그래밍의 유산

____다시 보는 main() 메서드: 메서드 스택 프레임

__변수와 메모리: 변수! 너 어디 있니?

__블록 구문과 메모리: 블록 스택 프레임

__지역 변수와 메모리: 스택 프레임에 갇혔어요!

__메서드 호출과 메모리: 메서드 스택 프레임 2

__전역 변수와 메모리: 전역 변수 쓰지 말라니까요!

__멀티 스레드 / 멀티 프로세스의 이해

__STS(또는 이클립스)를 이용해 T 메모리 영역 엿보기

__정리 - 객체 지향은 절차적/구조적 프로그래밍의 어깨를 딛고



▣ 03장: 자바와 객체 지향

__객체 지향은 인간 지향이다

__객체 지향의 4 대 특성 - 캡! 상추다

__클래스 vs. 객체 = 붕어빵틀 vs. 붕어빵 ???

__추상화: 모델링 82

____추상화는 모델링이다

____추상화와 T 메모리

____클래스 멤버 vs. 객체 멤버 = static 멤버 vs. 인스턴스 멤버

__상속: 재사용 + 확장

____상속의 강력함

____상속은 is a 관계를 만족해야 한다?

____다중 상속과 자바

____상속과 인터페이스

____상속과 UML 표기법

____상속과 T 메모리

__다형성: 사용편의성

____오버라이딩? 오버로딩?

____다형성과 T 메모리

____다형성이 지원되지 않는 언어

__캡슐화: 정보 은닉

____객체 멤버의 접근 제어자

__참조 변수의 복사

__정리 - 자바 키워드와 OOP 4 대 특성



▣ 04장: 자바가 확장한 객체 지향

__abstract 키워드 - 추상 메서드와 추상 클래스

__생성자

__클래스 생성 시의 실행 블록, static 블록

__final 키워드

____final 과 클래스

____final 과 변수

____final 과 메서드

__instanceof 연산자

__package 키워드

__interface 키워드와 implements 키워드

__this 키워드

__super 키워드

__예비 고수를 위한 한마디

__정리 - 자바 키워드와 OOP 확장



▣ 05장: 객체 지향 설계 5원칙 - SOLID

__SRP - 단일 책임 원칙

__OCP - 개방 폐쇄 원칙

__LSP - 리스코프 치환 원칙

__ISP - 인터페이스 분리 원칙

__DIP - 의존 역전 원칙

__정리 - 객체 지향 세계와 SOLID



▣ 06장: 스프링이 사랑한 디자인 패턴

__어댑터 패턴(Adapter Pattern)

__프록시 패턴(Proxy Pattern)

__데코레이터 패턴(Decorator Pattern)

__싱글턴 패턴(Singleton Pattern)

__템플릿 메서드 패턴(Template Method Pattern)

__팩터리 메서드 패턴(Factory Method Pattern)

__전략 패턴(Strategy Pattern)

__템플릿 콜백 패턴(Template Callback Pattern - 견본/회신 패턴)

__스프링이 사랑한 다른 패턴들



▣ 07장: 스프링 삼각형과 설정 정보

__IoC/DI - 제어의 역전/의존성 주입

____프로그래밍에서 의존성이란?

____스프링 없이 의존성 주입하기 1 - 생성자를 통한 의존성 주입

____스프링 없이 의존성 주입하기 2 - 속성을 통한 의존성 주입

____스프링을 통한 의존성 주입 - XML 파일 사용

____스프링을 통한 의존성 주입 - 스프링 설정 파일(XML)에서 속성 주입

____스프링을 통한 의존성 주입 - @Autowired를 통한 속성 주입

____스프링을 통한 의존성 주입 - @Resource를 통한 속성 주입

____스프링을 통한 의존성 주입 - @Autowired vs. @Resource vs. 태그

__AOP - Aspect? 관점? 핵심 관심사? 횡단 관심사?

____일단 덤벼 보자 - 실전편

____일단 덤벼 보자 - 설명편

____일단 덤벼 보자 - 용어편

____일단 덤벼 보자 - POJO와 XML 기반 AOP

____AOP 기초 완성 310

__PSA - 일관성 있는 서비스 추상화



▣ 부록A: 스프링 MVC를 이용한 게시판 구축

__A.1 URL과 @RequestMapping 연결하기

__A.2 인메모리 DB HSQL 사용하기

__A.3 VO와 MyBatis를 이용한 DAO 구현

__A.4 서비스(Service) 구현

__A.5 목록 구현

__A.6 읽기 구현

__A.7 새 글 구현

__A.8 수정 구현

__A.9 삭제 구현

__A.10 리팩터링



▣ 부록B: 자바 8 람다와 인터페이스 스펙 변화

__B.1 람다가 도입된 이유

__B.2 람다란 무엇인가?

__B.3 함수형 인터페이스

__B.4 메서드 호출 인자로 람다 사용

__B.5 메서드 반환값으로 람다 사용

__B.6 자바 8 API에서 제공하는 함수형 인터페이스

__B.7 컬렉션 스트림에서 람다 사용

__B.8 메서드 레퍼런스와 생성자 레퍼런스

__B.9 인터페이스의 디폴트 메서드와 정적 메서드

__B.10 정리
[알라딘에서 제공한 정보입니다.]