Classes

Dev_Sumni·2022년 5월 3일
0
post-thumbnail

What are Classes

  • object를 만드는 blueprint
  • 클래스 이전에 object를 만드는 기본적인 방법은 function

Quick Start - class

  • class 이름은 보통 대문자로 시작
  • new를 이용하여 class를 통해 object를 만들수 있음
  • constructor를 이용하여 object를 생성하면서 값을 전달할 수 있음
  • this를 이용해서 만들어진 object를 가리킬 수 있음

constructor & initialize

  • 생성자 함수가 없으면, 디폴트 생성자가 불림
  • 프로그래머가 만든 생성자가 하나라도 있으면, 디폴트 생성자는 사라짐
  • strict 모드에서는 property를 선언하는 곳 또는 생성자에서 값을 할당해야함
  • property를 선언하는 곳 또는 생성자에서 값을 할당하지 않는 경우에는 !를 붙여서 위험 표현
  • 클래스의 property가 정의되어 있지만, 값을 대입하지 않으면 undefined
  • 생성자에는 async를 설정할 수 없음

접근 제어자 (Access Modifiers)

  • public, private, protected
  • 설정하지 않으면 public
  • 클래스 내부의 모든 곳에 (생성자, 프로퍼티, 메서드)설정 가능
  • private로 설정하면 클래스 외부에서 접근 불가

initialization in constructor parameters

  • 생성자의 parameters를 받아서 클래스의 property로 초기화 하는 방법

Getters & Setters

  • 직접 꺼내오거나, 다른것으로 바꿔주는 역할

readonly properties

  • 클래스의 property에 readonly를 붙여서 get할 수 있는 방법
  • property를 초기값으로 고정하고 다른 값으로 변경하고 싶지 않을때 readonly 사용

Index Signatures in class

  • [index: string]
    property가 고정된 형태가 아니라 바뀌는 동적인 경우에 사용할 수 있는 방법

Static Properties & Methods

  • Static 키워드를 붙여 Properties & Methods 클래스에서 사용할 수 있는 방법

Singletons

  • 어플리케이션이 실행되는 중간에 클래스로부터 단 하나의 object만 생성해서 사용하는 패턴

상속(Inheritance)

  • 클래스가 다른 클래스를 가져다가 자신만의 기능을 추가해서 사용하는것

Abstract Classes

  • 완전하지 않은 클래스를 표현, new 사용하여 객체 생성
    완전하지 않은 객체를 상속과 같은 개념을 이용해서 완전하게 만든 후 사용
profile
개발 일지 끄적 끄적,,

0개의 댓글