반응형
Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

UP

Typescript : OOP 객체지향 프로그래밍, 클래스와 오브젝트 관계 본문

TypeScript

Typescript : OOP 객체지향 프로그래밍, 클래스와 오브젝트 관계

cijbest 2021. 5. 30. 14:17

객체지향 프로그래밍

  • 연관된 변수와 함수들을 한 덩어리로 묶어서 구조화하여 표현하는 프로그래밍 스타일
  • 어플리케이션을 실제 세상에 존재하는 객체와 같은 단위로 쪼개고 객체들이 서로 상호 작용함으로써 시스템이 동작하는 것
    • 손님물건장바구니에 담아서 주문, 결제한다. → 밑줄 친 것들이 하나의 객체가 되는 것

 

클래스(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

반응형
Comments