Java

자바 기반 공부하기

  • 자바 기반 관련 개념 정리

  • 코딩 인터뷰 완전분석 영문

    , 번역본

  • 코딩 테스트에 대한 감이 없어서 공부

  • 자료구조와 해당 자료구조에 대한 접근법(알고리즘)을 차근차근 공부하면 좋아보임

  • 코딩 테스트 연습을 할 수 있는 사이트와 병행하는 것이 좋을 듯

Contents

  • nextstep 의 TDD, Clean Code with Java 11기 진행

  • TDD, OOP 관점에 대한 이해

  • 개발 자유도가 높아 구조적인 것 외에는 코드가 다 다를 수 있음

Contents

  • 단순한 로직으로 OOP 패턴 구현하기

    • 메서드의 분리

    • TDD 실습 및 습관화를 위한 연습

  • 자동차 경주

    • 경험해야할 학습 목표

      • Github 기반으로 온라인 코드 리뷰하는 경험

      • JUnit 사용법을 익혀 단위 테스트하는 경험

      • 자바 code convention을 지키면서 프로그래밍하는 경험

      • 메소드를 분리하는 리팩토링 경험

    • 경험할 객체지향 생활 체조 원칙

      • 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다.

      • 규칙 2: else 예약어를 쓰지 않는다.

      • 이 두가지 원칙을 통해 메소드를 분리해 메소드가 한 가지 작업만 담당하도록 구현하는 연습을 목표로 한다.

      • 이 같은 원칙 아래에서 메소드의 라인 수를 15라인이 넘지 않도록 구현한다.

  • 로또

    • 경험해야할 학습 목표

      • TDD 기반으로 프로그래밍하는 경험

      • 메소드 분리 + 클래스를 분리하는 리팩토링 경험

      • 점진적으로 리팩토링하는 경험

    • 경험할 객체지향 생활 체조 원칙

      • 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다.

      • 규칙 2: else 예약어를 쓰지 않는다.

      • 규칙 3: 모든 원시값과 문자열을 포장한다.

      • 규칙 5: 줄여쓰지 않는다(축약 금지).

      • 규칙 8: 일급 콜렉션을 쓴다.

  • 사다리 타기 - FP, OOP

    • 경험해야할 학습 목표

      • 자바8의 스트림, 람다를 사용해 함수형 프로그래밍하는 경험

      • In -> Out, Out -> In 방식으로 도메인 객체를 설계하는 경험

      • 책임주도설계 기반으로 인터페이스 활용해 프로그래밍하는 연습

    • 경험할 객체지향 생활 체조 원칙

      • 규칙 4: 한 줄에 점을 하나만 찍는다.

      • Clean Code 가이드의 디미터 법칙을 지키는 것을 의미한다.

      • 규칙 6: 모든 엔티티를 작게 유지한다.

      • 규칙 7: 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.

      • 규칙 9: 게터/세터/프로퍼티를 쓰지 않는다.

  • 볼링 게임 점수판 - OOP

    • 경험해야할 학습 목표

      • Q&A 서비스를 활용해 레거시 코드를 리팩토링하는 경험

      • 지금까지 학습한 내용을 기반으로 TDD, 클린코드, 객체지향 프로그래밍하는 경험

    • 객체지향 생활 체조 원칙

      • 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다.

      • 규칙 2: else 예약어를 쓰지 않는다.

      • 규칙 3: 모든 원시값과 문자열을 포장한다.

      • 규칙 4: 한 줄에 점을 하나만 찍는다.

      • 규칙 5: 줄여쓰지 않는다(축약 금지).

      • 규칙 6: 모든 엔티티를 작게 유지한다.

      • 규칙 7: 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.

      • 규칙 8: 일급 콜렉션을 쓴다.

      • 규칙 9: 게터/세터/프로퍼티를 쓰지 않는다.

Effective Java

Last updated