Welcome To

후니's Blog

Hello World
Let's Focus On H
싱글톤
·
Typescript
싱글톤객체지향 프로그래밍에서 사용되는 패턴 중 싱글톤 패턴이라는 것이 있다.싱글톤 패턴에서는 한 클래스의 인스턴스를 정확히 1개만 생성한다.정적 메서드나 프로퍼티를 사용할 수 없거나 사용하고 싶지 않을 때 유용하게 사용할 수 있다.하지만 클래스의 객체를 여러 개 생성하지 않고 정확히 1개만 생성할 수 있도록 제한해야 한다. abstract class ShoppingMall { constructor(protected productId: string, protected productName: string) {} abstract printProduct(this: ShoppingMall): void;}class Grocery extends ShoppingMall { constructor(prod..
추상화(abstract)
·
Typescript
추상화(abstract)특정 클래스를 상속 받을 때 특정 메서드를 구현하거나 특정 메서드를 오버라이드하도록 강제하고 싶을 때 사용한다.언제 강제해야 할 상황이 생길까 ?예를들어 한 클래스를 상속받는 모든 클래스에서 특정 메서드를 구현할 필요가 있고, 상속받는 각 부서마다 메서드를 다르게 구현해야 할 때 이를 강제할 상황이 생긴다. 한 클래스의 메서드 또는 프로퍼티를 공통으로 공유하면서 기본 클래스에서 고정된 값이나 구현을 제공할 필요 없이 상속받는 클래스에서 구현하도록 만들 수 있다.abstract 키워드를 사용한 클래스는 인스턴스화 할 수 없다.즉, 오로지 상속을 주기 위한 클래스로 존재한다. abstract class ShoppingMall { constructor(protected produc..
정적 메서드
·
Typescript
정적 메서드정적 프로퍼티와 메서드는 클래스의 인스터스를 통해 액세스하지 않더라도 사용할 수 있는 프로퍼티와 메서드이다.즉, new 키워드로 인스턴스를 생성하지 않더라도 클래스 자체에서 액세스할 수 있다.주로 클래스에서 사용할 유틸리티 함수를 정의하거나 클래스에 저장하는 전역 상수를 관리하는데 사용된다.타입스크립트에서 정의되거나 직접 정의되지 않고 자바스크립트에 내장된 예시로 Math 클래스가 있다.Math의 인스턴스로 액세스하는 메서드나 프로퍼티가 아니므로 new Math와 같이 인스턴스를 생성하지 않아도 된다.클래스 자체에서 액세스하는 프로퍼티나 메서드이기 때문이다.이와 같이 클래스에서도 직접 정의할 수 있다.class ShoppingMall { protected employees: string[..
getter & setter
·
Typescript
getter & settergetterclass ShoppingMall { protected employees: string[] = []; constructor( private productId: string, private productName: string, public productType: string ) {} printProduct(this: ShoppingMall) { console.log("productId : " + this.productId); console.log("productName : " + this.productName); console.log("productType : " + thi..
상속, protected
·
Typescript
상속class ShoppingMall { constructor( private productId: string, private productName: string, public productType: string ) {} printProduct(this: ShoppingMall) { console.log("productId : " + this.productId); console.log("productName : " + this.productName); console.log("productType : " + this.productType); }}const shoppingMall = new ShoppingMall..
클래스
·
Typescript
클래스OOP(Object-Oriented Programming)코드에서 실제와 유사한 엔터티를 사용한다.코드에서 실제 사물과 최대한 유사한 객체를 사용해 코드를 이해하기 쉽도록 만드는 작업이다.예를 들어, 온라인 쇼핑몰을 만들 때 제품들을 관리(제품을 추가하거나 삭제하거나 관리할 수 있음)할 객체인 ProductList를 만들고, 각 제품의 세부 정보 등의 작업을 할 수 있는 각 제품을 관리할 수 있는 Product 객체를 만드는 것이런식으로 제작할 애플리케이션의 논리적 요소를 분할하여 표현할 수 있다.이렇게 표현하면, 개발자들이 이해하기 쉬우며 유지보수 측면에서도 유용하다. 타입스크립트와 자바스크립트에서는 프로퍼티와 메서드가 담긴 복잡한 자료 구조인 객체를 지원하고 자바스크립트에서는 이외에도 클래스도..