7장.. 가장 어려웠다.
레코드 캡슐화하기와 컬레션 캡슐화하기, 기본형을 객체로 바꾸기가 왜 이런 식으로 바뀌어야 하는 아직도 잘 모르겠다.
그 이후는 좀 쉬운 것 같다.
여기서 "가변 데이터를 저장하는 용도로는 레코드보다 객체를 선호나는 편이다"에서
객체 = 클래스구조 라 봐도 되는건지?
캡슐화란, 접근을 제어한다는 뜻인가
아님 접근의 구조를 여러 처리르 통해 일어날 수 있는 일인가?
레코드 구조는 2가지
1. 이름을 노출하는 형태
2. 내가 원하는 이름을 쓰는 형태
이름을 노출한다 -> js에서 그냥 Object
{
id: "abc@naver.com",
pw: "EWQRJHEW@#KSDACLD(@LC#@%JKL"
}
내가 원하는 이름을 쓰는 형태 -> 클래스
class Account {
#id
#pw
constructor(data) {
this.#id = data.id;
this.$pw = data.pw;
}
get loginId() {return this.#id;}
get loginPw() {return this.#pw;}
}
근대 왜 여기서 해시, 맵, 해시맵등이 2번째형태에 해당되는지 모르겠다. 첫 번째아닌가?
첫 번째 예시에서
getRawDataOfOrganization(){}이라는 코드가 꼭 필요했는지 모르겠다.
오히려 단계가 더 복잡해진 느낌..
변수 캡슐화란 왜 하는 것일까?
... 더블 디스 패치..?
레코드 캡슐화하기와 컬렉션 캡슐화하기의 차이는 뭘까?
내가 보기엔, 둘다 클래스화인데레코드 캡슐화는 데이터를 클래스의 필드로 만드는 것에 중점을 두었다면,
컬렉션 캡슐화는 함수를 클래스의 메서드로 만드는 것에 중점이 있다고 보인다.
.. 아닌거 같기도하고..
레코드와 컬렉션의 차이란..?
취향 차이도 있겠지만, 진짜
get priority()를
get priorityString()으로 바꾸는 것은 이해가 잘 안된다.
-> 임시변수는 클래스의 getter로 바꾸기
왜??
솔직히.. 잘 모르겠다