개발 & 방법론

    11주차 과제 : enum

    11주차 과제: Enum · Issue #11 · whiteship/live-study 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet 마감일시 2021년 1월 30일 토요일 오후 1시까지. github.com 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet enum 정의하는 방법 Enum 는 열거형 혹은 상수집합으로 부른다 class 대신 enum 으로 정의한다 정의 방법은 3가지로 나눠진다 // 1. java 파일로 정의 ..

    10주차 과제 : 멀티쓰레드 프로그래밍

    10주차 과제: 멀티쓰레드 프로그래밍 · Issue #10 · whiteship/live-study 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 마감일시 2021년 1월 23일 github.com 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Thread 클래스와 Runnable 인터페이스 프로세스와 스레드에 대해 알아보자 프로세스(Process) 운영체제에서 실행중인 하나의 애플리케이션을 프로세스라고 한다 프로세스는 운영체제로부터..

    테스트코드 첫걸음

    나는 이전까지 레거시 환경에서 테스트코드에 대해 들어본적이 없었고 jUnit 도 모르니 테스트를 한다면 화면 띄우고 디비에 연결해서 입력폼에 값 하나씩 입력하고 확인 버튼을 누르는 등 직접 결과를 확인했다 하지만 인강과 관련 개발서적(TDD)를 읽어보니 테스트에 대해 너무 무지했다는 걸 깨달았다 진행 중인 스터디의 주제로 리팩토링이 나왔는데 요구사항에 테스트 코드가 있고 스터디장이 테스트에 대해 설명을 해줘서 손쉽게 접근을 했다. 테스트 코드는 Gilded Rose 의 리팩토링 과제로 진행했다 emilybache/GildedRose-Refactoring-Kata Starting code for the GildedRose Refactoring Kata in many programming languages...

    9주차 : 예외처리

    9주차 과제: 예외 처리 · Issue #9 · whiteship/live-study 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 github.com 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 개발자의 고통... 그 이름..

    자바 8주차 : 인터페이스

    8주자 과제: 인터페이스 · Issue #8 · whiteship/live-study 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터 github.com 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 정의하는 방법 인터페이스는 추상클래스를 더 추상화한 것으로 공통적인 기능을 규격..

    7주차 : 패키지

    github.com/whiteship/live-study/issues/7 7주차 과제: 패키지 · Issue #7 · whiteship/live-study 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 마감일시 2021년 1월 2일 토요일 오후 1시까지. github.com 학습할 것 (필수) package 키워드 import 키워드 접근지시자 클래스패스 CLASSPATH 환경변수 -classpath 옵션 package 패키지란 클래스를 체계적으로 관리하기 위한 폴더 저장 방식이자, 패키지명과 클래스명을 합쳐(FQCN:full qualified class name) 클래스를 유일..

    6주차 : 상속

    github.com/whiteship/live-study/issues/6 6주차 과제: 상속 · Issue #6 · whiteship/live-study 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 마 github.com 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 상속이란 부모의 멤버를 자식에게 물러주는 것으로 사용 용도는 코드 중복을 방지하고 공통 코드를 재사용하기다 다..

    5주차 : 클래스(Class)

    github.com/whiteship/live-study/issues/5 5주차 과제: 클래스 · Issue #5 · whiteship/live-study 목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 마감일시 github.com 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 5주차가 되었다. 이제 자바에서 중요한 클래스를 알아보자 그전에 알고 넘어가야 할 개념이 존재한다 바로 객체(Object) 다. 객체란? "객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것..