클래스와 오브젝트의 차이란 뭘까,
처음에 JS 를 배울 때도, 이 차이에 대하여 깊히 생각해본 적은 없었다.
(왜냐면 어려웠기 때문에, 다른 부분에 대해 먼저 파헤쳐본 것 뿐!)
하지만, 이제는 피할 수 없다! **클래스**!
그리고 궁금하다... 너 사용법!!
클래스를 낱낱이 파헤쳐서 개발 인생에 광명 찾고 싶다!
나 오늘은 클래스 마스터로 거듭날 하루를 보낼거다! 아무도 막지 마라!
## Class와 object
>객체 지향언어에서 사용되는 개념
Class는 `분류`라고 하면 object는 `개체`라고 생각할 수 있다.
즉 Class는 object라는 instance를 포괄하는 개념으로 볼 수 있는 것.
혹자는 Class를 붕어빵 틀에 비유하곤 한다.
즉, 붕어빵은 `붕어빵 틀`이라는 Class를 통해 만들어진 object, 즉 개별 INSTANCE라고 볼 수 있는 것이다.
각각의 붕어빵은, 팥 뿡어빵, 슈크림 붕어빵 등 다양성을 가지고 있다.
하지만, `소`라는 공통 속성에 다른 값을 부여한 것일 뿐, 아예 다른 개념이 아니다.
CLASS는 FIELDS(데이터)와 METHODS(객체 내부 함수)가 종합적으로 묶여있다.
>간혹 데이터만, 즉 FIELDS만 존재하는 클래스가 있는데 이는 Data class라고 불린다
클래스를 이용하여 상속과 다양성**(팥, 슈크림과 같은,.)** 이 일어날 수 있다.
Class는 정의만 된 것이고, 실제로 메모리에 할당되진 않는다.
개별 인스턴스를 만들 수 있는 청사진에 불과하며, 함수 등과 마찬가지로 한번만 선언된다.
내부 데이터는 없다.(그렇다고 항상 없다고 말할 수는 없다!)
반면 개별 인스턴스의 경우, 메모리에 할당된다.
이번에 공부하면서 GETTER와 SETTER, EXTENDS 와 SUPER 등 흥미로운 개념을 배웠는데 내일 한 번 읽으면서 정리해봐야겠다!
다시 한번 CLASS에 대한 개념을 상기하면서!! 내일 있을 새로운 프로젝트를 기대 반 두려움 반으로 기다리며 오늘의 벨로그 끝!
'programming > JS' 카테고리의 다른 글
개발자 인생 제 1차 프로젝트 회고 (0) | 2024.04.13 |
---|---|
서버 함 만들어보까? | API와 HTTP (0) | 2022.10.02 |
JS| NODE.JS (0) | 2022.10.02 |
JS | 조건에 맞추어 객체 내 값 변경하기, 새로운 프로퍼티 넣기(SWITCH) (0) | 2022.09.25 |
JS | Array.map() 과 Array.forEach() (0) | 2022.09.24 |