UP
Typescript : OOP 객체지향 프로그래밍, 클래스와 오브젝트 관계 본문
객체지향 프로그래밍
- 연관된 변수와 함수들을 한 덩어리로 묶어서 구조화하여 표현하는 프로그래밍 스타일
- 어플리케이션을 실제 세상에 존재하는 객체와 같은 단위로 쪼개고 객체들이 서로 상호 작용함으로써 시스템이 동작하는 것
- 손님이 물건을 장바구니에 담아서 주문, 결제한다. → 밑줄 친 것들이 하나의 객체가 되는 것
클래스(Class)
- 객체(object)들은 클래스를 통해서 만들어 진다.
- 클래스는 객체의 뼈대, 설계도, 생산틀
- 클래스 속에서 정의된 함수들은 클래스 내 정의된 변수들에게 접근 가능(this 키워드)하고 상대적으로 적은 매개변수를 가진다.
- 매개변수가 적을 수록 함수를 더 쉽게 사용할 수 있고 쉬운 유지보수가 가능하므로 깨끗한 코드가 된다.
- 프로퍼티(Property) : 클래스 내에 정의된 변수
- 메소드(Method) : 클래스 내에 정의된 함수
- app.ts
class Employee {
// 프로퍼티(Property)
fullName: string;
age: number;
jobTitle: string;
hourlyRate: number;
workingHourPerWeek: number;
// 메소드(Method)
printEmployeeDetails = (): void => {
console.log(`${this.fullName}의 직업은 ${this.jobTitle}이고 일주일의 수입은
${this.hourlyRate * this.workingHourPerWeek}달러 이다.`);
}
}
# bash
undefined의 직업은 undefined이고 일주일의 수입은 NaN달러 이다.
클래스의 인스턴스
- 클래스로 객체를 만든다는 의미
- app.ts
let employee1 = new Employee();
employee1.fullName = '미래';
employee1.age = 20;
employee1.jobTitle = '주니어 웹개발자';
employee1.hourlyRate = 40;
employee1.workingHourPerWeek = 35;
employee1.printEmployeeDetails();
# bash
미래의 직업은 주니어 웹개발자이고 일주일의 수입은 1400달러 이다.
실습 코드 : https://github.com/cijbest/TIL/tree/master/TypeScript/%EC%8B%A4%EC%8A%B5/Day_8
공부 영상 출처 : [땅콩코딩] https://youtu.be/bdXnsyelOGg
반응형
'TypeScript' 카테고리의 다른 글
Typescript : 생성자 (Constructor), 접근 제한자 (Access Modifiers), Getter 와 Setter (0) | 2021.05.30 |
---|---|
Typescript : 함수의 타입 명시, 선택적 매개 변수, 기본 매개변수 (0) | 2021.05.30 |
Typescript : Any 타입, 유니언 타입, 타입 별칭, 타입 가드 (0) | 2021.05.29 |
Typescript : 열거형(Enum)과 리터럴(Literal) 타입 (0) | 2021.05.29 |
Typescript : 인터페이스 (Interface) (0) | 2021.05.29 |
Comments