기타
-
OOP in JavaScript (2)기타 2020. 12. 9. 16:31
이번에는 클래스에 대해서 좀더 자세하게 적어보자 휴먼을 상속할때 call 을 이용하여 this 값을 재지정 해주었다. 휴먼을 상속한 폴리스 아주 잘 상속이 되었다 메서드역시 잘상속된걸 확인 할수잇다. 그러나 저렇게 메서드가 매번 생성 되는 거보다는 생성자의 프로토타입에 저장해서 필요할때만 꺼내쓰는것이 유용 하다 메서드를 함수안이 안이라 밖에서 프로토 타입에 저장하자 메서드는 상속이 안되있는것을 확인할수있다. 이번에는 메서드가 함수자체에 말고 함수의 프로토 타입에 있으니까 그것을 참조하도록 수정해보겟다. police.prototype 이 복제된 Human.property 를 가리키는 것을 볼수 있다. 여기서 복제하지 않고 그냥넣게 되면 이후 상속받은걸 수정하면 상속해준거 까지 바뀌게 된다 (참조형데이터라)..
-
OOP in JavaScript (1)기타 2020. 12. 9. 16:10
일단 oop 는 객체 지향 프로그래밍으로 모든건 객체로 이루어져있고 물리고 물려서 위에서 본인이 필요한것도 쓸수있는 트리구조 같은 느낌으로 만 알고 있었다. 사용은 기존에 함수를 이용해서 만드는 방법(생성자함수)이 있었고 , 지금은 주로 class 키워드를 이용하여 만들어서 쓴다. 생성자 함수같은경우는 구조는 그냥 함수와 똑같다 그러나 사용시 에 new 키워드를 이용하여 this 가 가르키는 것이 하나의 새로운 인스턴스를 가리키고 우리는 그것에 접근하여 해당 this 에 속성과 method 를 추가하여 필요한 객체를 함수를 통해 비슷한 객체들을 편리하게 생성해낼수 있게되었다. 이때 신경써줘야 할점은 생성자 함수같은경우 첫글자를 대문자로 써주고 생성시에는 new 키워드를 붙여줘야 하는 정도이다. 이러한 방..
-
자료구조 를 마치며기타 2020. 12. 8. 21:36
1.해쉬테이블 : 배열에서 조회의 시간복잡도가 상수인것을 이용하여 입력된 값을 조회할수있게 인덱스로 변환을 해준다 그역할을 해주는게 해쉬함수다 해쉬함수를 통해서 나온 인덱스에 밸류를 저장한다. 그러나 해쉬함수를 통해배출된 인덱스는 입력값은 반드시 같은 출력값으로 나오지만 출력값을 통해 입력값이 달라질수 있고 다른 입력값역시 같은 인덱스를 배출할수 있게 된다. 따라서 충돌이 일어나게 될 가능성이 있다. 그러한 이유에서 해당인덱스에 바로 저장하는것이 아니라 해당인덱스는 튜플을 가리킨다. 재수가없으면 이경우에서 시간복잡도가 올라갈수 있게된다. 왜냐하면 여기서는 인덱스로 조회하는게 아니라 튜플들을 다 조회 해봐야하기 때문이다. 그러한 경우를 최소화 하기위해 배열의크기(bucket num) 를 조정해준다. 25%..
-
-
stack & queue기타 2020. 12. 3. 18:05
오늘은 stack 과 queue 를 구현해보았다. 이러한 것들을 data structure 라고 하는데 오늘 써볼내용은 primitive한 데이터 유형이 아닌 abstract한 데이터유형중 일부이다. stack 은 쌓여있는 접시를 생각하면 된다. 뷔페에가서 접시를 빼는데 아래에 있는 접시를 빼는 사람은 없을 것이다. 또한 씻은 접시를 굳이 아래에 끼워넣는 사람도 없을 것이다. queue 는 대기열을 생각하면된다 상황에 따라 사용 하는 데이터 유형이 달라진다 . 상황을 어떠한 데이터 유형으로 사용할지를 정하는 것이 중요하다. stack 형태는 push 함수 pop 함수 size 조회 이외 다양한 함수를 추가할수있는데 이는 추가적인 작업이다 queue 형태는 enqueue 와 dequeue 함수를 포함하고 ..