Spring 개발 교육

ApexSoft

Day1 - Common

Goal

1. 소프트웨어 개발의 본질을 이해하고,

2. 객체 지향 프로그래밍을 통해 변경에 강한

    애플리케이션을 만드는 방법에 통달하고,

3. 테스팅을 통해

    회사의 소프트웨어 자산이

    언제나 높은 품질을 유지할 수 있게 한다.

Goal

1. 소프트웨어 개발의 본질을 이해하고,

2. 객체 지향 프로그래밍을 통해 변경에 강한

    애플리케이션을 만드는 방법에 통달하고,

3. 테스팅을 통해

    회사의 소프트웨어 자산이

    언제나 높은 품질을 유지할 수 있게 한다.

퇴근을 빨리 하자!!

저는..

- 오명운

- 전직 ApexSoft 직원

- 여러분에게 Gradnet이라는

   똥 한 무더기레거시를 넘겨준..

- 현직 SK Planet 구성원

목    차

1. 개발 환경 구성

 

2. 객체 지향 프로그래밍

1. 개발 환경 구성

- Java8, IntelliJ

 

- Git

Java8, IntelliJ

- Java8

  - java -version

  - 획기적인 변화

    - 람다(함수형 인터페이스), 메서드 레퍼런스

    - Stream

    - Optional

    - 깊게 다루지 않음..

 

Java8, IntelliJ

- IntelliJ

  - 커뮤니티 버전

  - 테마: Dracula

  - Java 파일 주석: @author

  - 심볼 구분 표시

  - Hello World Goodbye Legacy

Git

- 예습:

  - https://goo.gl/tN4ens

 

 

Git - 실습

- Git 리모트 설정(GitHub)

    - GitHub에 계정 만들고

    - Repository 생성(scratchpad-java)

    - Local 환경에 clone

 

 

Git - 실습

- Git 로컬 환경 설정

    - global level, repository level

    - user.name, user.email 설정

    - alias 추가

 

 

 

종합 실습

- 사칙 연산

    - +, -, *

    - branching

    - merge

    - rebase

    - / 는 GitHub에 직접 작성

    - conflict 해결

2. 객체 지향 프로그래밍

- 왜 늦게 퇴근하는가

- 간접화

- 객체 지향 프로그래밍이란?

- 객체 지향 프로그래밍 실습

 

왜 늦게 퇴근하는가

왜 늦게 퇴근하는가

- 어려워서

  

  

 

- 양이 많아서

  

 

왜 늦게 퇴근하는가

- 어려워서

  - 만들기 어려워서

  - 바꾸기 어려워서

 

- 양이 많아서

  - 정말로 양이 많아서

  - 구조가 나빠서

왜 늦게 퇴근하는가

- 어려워서

  - 만들기 어려워서

  - 바꾸기 어려워서

 

- 양이 많아서

  - 정말로 양이 많아서

  - 구조가 나빠서

간접화

Indirection

간접화

간접화

간접화

간접화

간접화

- 변수

 

- 함수

 

- 참조형

간접화

- 변수: 값의 간접화

 

- 함수: 로직의 간접화

 

- 참조형: 변수와 함수의 간접화

객체 지향 프로그래밍이란?

객체 지향 프로그래밍이란?

- 슐화

-

- 상화

- 형성

객체 지향 프로그래밍이란?

- 캡슐화

- 상속

- 추상화

- 다형성

간접화

객체 지향 프로그래밍이란?

- 캡슐화

- 상속

- 추상화

- 다형성

간접화

메시징을 통한 간접화

객체 지향 프로그래밍이란?

- 캡슐화

- 상속

- 추상화

- 다형성

간접화

데이터 요구 작업 요청을 통한 간접화

객체 지향 프로그래밍이란?

객체에게

데이터를 요구하지 말고

작업을 요청해라

객체 지향 프로그래밍 실습

- 변수: 값의 간접화

 

- 함수: 로직의 간접화

 

- 참조형: 변수와 함수의 간접화

  - + 의 인자가 3개라면?

객체 지향 프로그래밍 실습

- GRADNET 사례

  - Application 객체(Bean)

    - id, admissionType

    - getter, setter

    - 전형은 1년에 한 번

    - admissionType이

      - "F"이면 "외국인" 출력

객체 지향 프로그래밍 실습

- GRADNET 사례

  - Application 객체(Bean)

    - id, admissionType

    - getter, setter

    - 전형이 전기, 후기로 나뉘어졌다.

    - admissionType이

      - "F" 또는 "G"이면 "외국인" 출력

객체 지향 프로그래밍 실습

- GRADNET 사례

  - Application 객체(Bean)

    - id, admissionType

    - getter, setter

    - 전형이 전기, 후기, 수시로 나뉘어졌다.

    - admissionType이

      - "F" 또는 "G" 또는 "H"이면 "외국인" 출력

객체 지향 프로그래밍 실습

- GRADNET 사례

  - Application 객체(Domain)

    - id, admissionType

    - getter isForeignAdmission(), setter

 

객체 지향 프로그래밍 실습

- GRADNET 사례

  - Application 객체(Domain)

    - id, admissionType

    - getter isForeignAdmission(), setter

    - 전기, 후기, 수시 전형에 조기 전형이 추가되었다.

    - admissionType이

      - "F" 또는 "G" 또는 "H" 또는 "I"이면 "외국인" 출력

오늘은 이거 하나만

객체 지향 프로그래밍이란?

객체에게

데이터를 요구하지 말고

작업을 요청해라

오늘은 이거 하나만

Day 1 - End

Q & A

Made with Slides.com