Rubberduck-Debugging

[3일차] 본문

개발자/20181127 교육과정

[3일차]

P缶 2018. 11. 29. 19:25


* 클래스가 있는 이유

1. 새 타입의 데이터메모리를 설정하기 위해

2. 관련 메소드를 유지보수하기 좋게 분류하기위해(class-ification)


* 인터페이스란? 개발자 간의 호출 규칙.


*JVM

MethodArea

Stack

Heap


1.8 - 메서드의 존재 이유

  • 메서드를 활용하여 코드를 기능 단위로 분리하는 방법
  • 리팩토링: 메서드 추출(Extract Method)

1.9 - 클래스로 메서드를 분류하기

  • 클래스를 이용하여 관련 메서드를 묶어 관리하는 방법


--------------

2.0 - 패키지로 클래스를 분류하기

  • 패키지를 이용하여 관련 클래스를 분류하는 방법

*패키지로 나눈 후 에러 없애기

* modifier

2.1 - 클래스 변수와 클래스 메서드의 한계

  • 클래스 변수와 메서드의 한계를 이해하기
* 기술 부채 06

인스터스 변수 : 개별적으로 변수를 사용하자. 
(게시판마다 뉴보드 할수 없으니 인스턴스 변수로 시행하면 ㅇㅋ)


상속 : 기존코드를 건들지 말고 확장하라고 만든것. (남의 코드나)

2.2 - 인스턴스 변수와 인스턴스 메서드가 필요한 이유

  • 인스턴스 변수와 메서드를 사용하는 방법
  • 인스턴스 변수를 사용할 때의 이점
  • 인스턴스 메서드를 사용하는 이유

과제 1: 새 게시판을 추가하라.

07


클래스 로딩은 한번만 일어난다
== 클래스 변수는 딱 1개만 만들어진다. 클래스변순 클래스러딩할때 딱 1번만 만들어진다고
static int v1; 0> a.v2=100;


2.3 - 생성자가 필요한 이유

  • 인스턴스를 사용하기 전에 필요한 값을 준비하는 방법
  • 생성자의 용도 이해

과제 1: 핸들러 객체의 필수 입력 값인 keyboard를 반드시 설정하게 만들라!

  • BoardHandler.java
    • 기본 생성자 대신에 파라미터로 keyboard를 받는 생성자를 추가한다.
    • LessonHandlerMemberHandler 클래스로 동일하게 처리한다.
  • App.java
    • 핸들러 클래스의 변화에 맞추어 코드를 변경한다.

--------------

2.4 - 인스턴스 연산자와 메서드

  • 메서드를 활용하여 인스턴스 값을 다루는 연산자를 정의하는 방법
  • 캡슐화와 셋터/겟터의 의미