본문 바로가기

클래스6

객체의 관계는 설계 의도로 결정된다. 의존성 주입을 학습하다가 이건 집합 관계로 봐야하지 않나, 라는 의문을 풀기 위해 객체의 관계에 대해 고민해봤습니다. Car와 Engine 클래스로 구성된 코드를 예시로 들었습니다. 물론, 두 모델은 구성 관계가 가장 어울리지만 설명을 위해 다소 억지스럽게 객체의 관계에 대한 해석을 붙여가며 글을 개진해봤습니다.의존 관계 (Dependency) vs 연관 관계 (Association)class Engine { start(): void { console.log("Engine started"); }}class Car { constructor(private engine: Engine) {} startCar(): void { this.engine.start(); }}위의 코드는 의존 관계,.. 2025. 1. 25.
타입스크립트 클래스 알아보기 타입스크립트의 클래스에 대해 정리해보도록 한다.공식문서의 클래스 파트를 참고했다. 자세한 설명이나 코드는 첨부된 공식문서를 참조하면 도움이 될 것이다.자바스크립트의 클래스와 가장 크게 다른점은 this 키워드에 속성을 할당하려면 필드를 선언해야 한다는 것이다.그런데 만약 수정자(접근 제어자)를 생성자의 매개변수 앞에 사용하는 경우, 필드 선언은 생략이 가능하다.이것을 후에 설명되는 “Parameter Properties”부른다.Class Members클래스의 멤버는 크게 2가지로 나뉜다.필드(Field): 클래스 내부에 선언된 변수(속성)이다. 일반적으로 객체의 상태를 저장한다.메서드(Method): 클래스 내부에 정의된 함수이다. 객체의 동작을 정의한다.Fields필드를 선언하면 기본적으로 public.. 2024. 9. 7.
[Class] 게터와 세터 #getter 기존 혹은 새로운 속성에 원하는 속성 또는 메서드를 리턴한다 단, 기존 속성을 사용하는 경우, 같은 변수명을 대입하면 안 된다. - 일반적으로 언더바(private 변수 의미)를 prefix로 사용한다. - ex. 예시 코드, _width & _height 1. 속성 형성 및 메서드 리턴 get area() 처럼 생성자 함수를 통해 this에 바인딩되어 있지 않은 속성값에 대해 Rectangle.prototype 에 있는 메서드(calcArea)를 리턴하며 매개변수에 따라 계산된 값을 할당할 수 있다. #setter 게터에서 가져온 값에 대한 처리를 한다. 해당 속성에 할당된 값을 사용하고 싶은 경우, 매개변수를 사용한다. (함수와 동일한 방법으로 사용) - ex. 예시코드 set widt.. 2022. 12. 17.
[Class] 클래스 정의와 원리 #Class 정의 여러 개의 객체를 만드는 데 유용하며, new 연산자를 사용하여 class 에 정의된 생성자 함수와 속성, 메서드를 포함한 객체(인스턴스)를 생성한다. constructor() 생성자 메서드는 어떤 메서드들 보다 먼저 호출되고, new 연산자를 사용할 때 자동으로 호출된다. 객체를 생성하고 초기화하기 위한 특수 메서드 (class 내부 유일해야 함) 부모클래스의 constructor를 호출하려면 구현부에 super 키워드 사용 constructor(param){this.param = param} 을 통해 클래스를 가르키는 this. 연산자를 통해 속성을 초기화 및 할당한다. constructor() 에 들어간 매개변수의 개수가 new 연산자를 통해 생성하는 클래스 인스턴스에 들어가는 매.. 2022. 12. 16.