📌 19일차(2021-07-22,목)
- 자바 객체지향 문법(eomcs-java/com.eomcs.oop)
- ex01
- 객체 지향 문법 요약 정리
- ex01
- 실전 프로젝트(eomcs-java-project)
- CRUD 구현하기(계속)
📌 알게된 점 정리
메서드안에 추가적인 값이 필요하면 파라미터로 값을 받아서 실행하면 된다.
원래 클래스명.메서드명(값1,값2.....)
메서드들이 서로 공유하는 값이 있다?공유할 값을 담을 변수가 필요해
- 파라미터로 받는다? (가능은하지만 밑의 방법이 더 좋다.)
- 클래스 내에 변수로 공통적으로 뽑아낸다.
- 개별적으로 여러개 뽑아내? 그러면 인스턴스 변수로 만들어
서로 연관되어있는 메서드를 하나의 클래스로 묶으면 유지보수 하기 좋겠죠?
카드를 쓰는 사람이 카드를 관리해야지 다른 사람이 관리하면 되나?
해당 변수를 관리하는 클래스에서 수행해야지
(마치 식당에서 음식시킴 나보고 재료 줄테니 요리하고 가져가래)메서드를 사용하는 쪽이 아닌 제공하는 쪽에서 처리하고 넘겨줘 그럼 편하다.
로컬변수는 공유할 수 없어 그럼 공통된 변수 따로 빼야지
야야 주소알려줄테니까 사용자한데 입력받아서 b2의 변수에 저장해
cal이 작업할 때 사용할 변수 준비해
의심하지말고 해. 왜 이렇게 하냐고?
세계적으로 그렇게 사용하는데는 이유가 있어. 의심이 들땐 너가 놓치고 있는것을 생각하는게 더 빠르다.메서드 파라미터로 변수를 넘길 순 없다. 값과 주소를 넘기는거지
c1 객체를 넘긴다 = c1 인스턴스의 주소를 넘긴다.
클래스 내부에 인스턴스 변수를 만든다는건 그 클래스의 메서드가 공통적으로 사용하는 변수기 때문
이다.만들때 물어봐 이 변수가 여기 클래스의 메서드에 쓰이니?
메서드에서 변수를 쓰잖아. 변수가 여기 메서드에 안쓰이면 왜 여기 있어야해 다른 클래스로 옮겨
일단 짜놓고 코드를 정리할 시간이 필요하다
처음부터 완벽하게 짜는 게 아니라 러프하게 짜고 리팩토링한다.
반드시 유효한 인스턴스 주소가 있어야한다.
size -> 0부터 입력된 갯수만큼 반복
this -> 현재 메서드를 실행하는데 사용하는 변수
0번째 인스턴스 (레퍼런스가 가리키는 인스턴스의 주소)
배열삭제 알고리즘 풀 때 배열을 땡기면서 size도 줄어야함
인덱스 다룰때 조심해라
다양한 상황을 확인해라
맨 끝을 삭제한다.
맨처음을 삭제한다.
1개남았을때
확인해라
'TIL' 카테고리의 다른 글
🚀 bitcamp TIL (21.07.26) (0) | 2021.07.26 |
---|---|
🚀 bitcamp TIL (21.07.23) (0) | 2021.07.23 |
🚀 bitcamp TIL (21.07.21) (0) | 2021.07.22 |
🚀 bitcamp TIL (21.07.20) (0) | 2021.07.20 |
🚀 bitcamp TIL (21.07.19) (0) | 2021.07.19 |