1 분 소요

본 게시물은 객체지향에 대해 노마드 코더님의 강의1강의2를 보고 정리하는 글이다.

1. OOP란?

👀 Definition

객체 지향 프로그래밍(oop)은 독립된 단위인 객체들의 상호작용으로 프로그래밍하는 패러다임이다.

2. OOP 특징

2.1 캡슐화

👀 Definition

한 객체가 목적을 위해 필요한 데이터나 메소드를 하나(캡슐 혹은 컨테이너)로 묶는 것

캡슐화를 통해 외부에서 데이터를 직접 접근하는 것을 방지하고, 함수를 통해 접근하는 방식을 사용할 수 있게 된다. 또한, 데이터를 접근하고 수정하는 권한을 지정할 수 있다. 결론적으로 캡슐화는 class안에 있는 데이터나 함수를 잘 정리하는 방법론이다.

📍Example

## 캡슐화가 되지 않은 
const person = {
  name: "kang",
  shares: 10000,
  company: 'h'
};

function calculate(shares, company){
  const sharePrice = getSharePrice(company);
  return shares * sharePrice
}

## 캡슐화
class Person{
  constructor(
  	private name: string,
		private shares: number,
    private company: string
  ){}
  public calculate(){
    return this.shares * getSharePrice(this.company);
  }
}

const kang = new Person("kang", 7000, 'h');
kang.calculate();

2.2 상속

👀 Definition

부모 클래스에 정의된 데이터 및 함수를 자식 클래스에서 상속받아 사용할 수 있는 것

상속을 통해 부모 클래스의 내용을 자식 클래스에서 재정의 할 필요가 없기 때문에 코드의 재사용성을 극대화 시킬 수 있다. 또한 사용 중인 함수의 로직이 변경될 때, 부모를 바꾸면 자식들이 전부 변경할 수 있기에 코드 관리가 용이해진다.

📍Example

class Person(
  constructor(
    private name: string,
    
  )
)

2.3 상속

👀 Definition

2.4 추상화

👀 Definition

2.5 다형성

👀 Definition

카테고리:

업데이트:

댓글남기기