❶ 자바스크립트에서 클래스

(1) 객체를 만들기 위한 설계도 (일반적 정의와 동일) - 프로토 타입과 비슷하다.
(2) 프로토타입 성질을 좀 더 쉽게 사용하기 위한 문법적 부가 기능
(3) 프로토타입과 달리 constructor 라는 함수가 별개로 있다.
(4) 클래스 선언은 호이스팅이 되지 않는다.

❷ 좋은 클래스 만드는 방법

(1) *높은 응집도*낮은 결합도를 가진 클래스를 설계한다.
(2) 적절하게 관심사를 분리하여 각 항목이 높은 독립성을 가지도록 설계한다.
(3) 오픈소스 유저 라이브러리 등을 참고하자.

✏️ 용어 정리
❶ 응집도(Cohesion)
한 모듈 내부의 요소들이 서로 관련되어 있는 정도

❷ 결합도 (Coupling)
서로 다른 모듈(클래스) 간 상호 의존 정도

❸ 정적 (static) 변수 & 메서드

(1) 인스턴스가 아닌 클래스 자체에 붙게 되는 속성
(2) 클래스 명으로 직접 참조 가능
(3) static 이라는 키워드 사용

❹ 용도

(1) 클래스 단위로 관리되어야 하는 변수나 함수가 필요할 때 사용

ex 1 : http 요청을 보내는 작업들만 모아둔 클래스일 때 공용 헤더 보관
ex 2 : 클래스 메서드에서 공통으로 사용할 에러 핸들링 or 로깅 함수를 선언

(2) 상태 정보가 필요없는 유사한 성질의 유틸성 함수들을 클래스로 묶고 싶을 때 사용

❺ 클래스 상속 (inheritance)

(1) 상속이란? : 유사한 성질을 가진 개념들의 공통 정보(변수) 또는 기능(함수)을 클래스로 설계하고
상위 개념 설계도를 물려받아(상속) 더 상세한 하위 개념을 확장하여 설계 할 수 있는 기능
(2) extends 키워드를 사용하여 상속
(3) super 키워드를 사용하여 부모 클래스에 접근 가능
(4) 자식 클래스는 부모 클래스의 모든 변수와 메서드를 기본적으로 가지고 있게 됨 (상속)

💡 참고
잘쓰면 > 개발 시간이 단축되고 코드의 재사용성이 좋아짐
못쓰면 > 코드간 의존성이 커져서 유지보수가 어려워짐

profile
#UXUI #코린이

0개의 댓글