📌 20일차(2021-07-23,금)
실전 프로젝트(eomcs-java-project)
- 06-a. CRUD 구현하기(계속) : 회원/프로젝트/작업 CRUD 완성
- 06-b. CRUD 구현하기 : 리팩토링
인덱스 관련
- 멤버 레퍼런스 변수에 저장하거나
- 일치하는 인덱스를 찾거나
- 반복문 내에서 해결하거나
- 요구사항을 구현하는 방법은 여러가지!
- String format 쓰꺼나 String.format()
- 직접 식안에 변수 쓰거나 System.out.println("("+name+")")
1가지 방법 일관되게 써
index 기본값 -1로 설정
멤버 객체를 꺼내라 = 배열에서 객체를 꺼낼 수 없고 객체의 주소를 꺼낸다는 것을 줄여서 말함
왜 null로 초기화 시키는건가?
- 가비지가 되지않는다. 메모리 최적화 관련.
- 초기화를 시키지 않으면 쓰지도 않는 메모리를 계속 가리키고 있다. (주소를 이중으로 남기지 마라)
- 가비지는 아니지만 쓰진 못해 .
중요!!!안쓰는 인스턴스는
NULL
로 초기화시킨다.- memory leak
- 가비지 관리 능력
메서드를 실행하는데 사용할 변수가 필요해서 인스턴스를 만든다.
인스턴스(데이터)가 있어야 실행가능하다.
파라미터로 주소를 받는다는 것은
메서드안에서 다른 클래스의 어떤 메서드를 호출하려는구나 데이터가 필요한가보구나.데이터베이스에서 숫자를 사용해서 저장한다. 텍스트를 사용하지 않는다.
📌 리팩토링 관련
메서드 추출(내부에서 사용하려면 공개하지마라 일단 막아 그리고 나중에 필요할 때 공개해) private
특정작업이 아니라 지속적으로 사용하는 데이터라면 파라미터로 받는거보다 인스턴스 필드로 받는 것이 좋다.
메서드를 만들 때 (메서드를 자기가 사용하는게 아니라 다른 개발자가 쓴다고 가정하고 좀 더 편안하고 직관적으로 사용하도록 메서드명과 파라미터를 정해야한다.)
껍데기를 씌운다.(파라미터 마다 다르게 동작하기 위해 똑같은 메서드를 여러개 만들어서 내부적으로 한 메서드를 호출하게 한다.)
(사용자는 -1을 입력하는지 모른다.)호출하는곳에서 결정하냐? 내부적으로 결정하냐?
'TIL' 카테고리의 다른 글
🚀 bitcamp TIL (21.07.27) (0) | 2021.07.27 |
---|---|
🚀 bitcamp TIL (21.07.26) (0) | 2021.07.26 |
🚀 bitcamp TIL (21.07.22) (0) | 2021.07.22 |
🚀 bitcamp TIL (21.07.21) (0) | 2021.07.22 |
🚀 bitcamp TIL (21.07.20) (0) | 2021.07.20 |