내 머리속 JS - OOP

JAEN·2020년 1월 26일
0

내머리속 JS 🙈

목록 보기
10/14
post-thumbnail

OOP

Object Oriented Programming
"객체 지향 프로그래밍"

image.png

객체: 지향 : 프로그래밍 = 독립적 단위 : 우선시 한다 : 컴퓨터에서 동작하는 프로그램을 코드로 작성하는 일

 


 

주인공, “객체” 란 🤨

1. 대상

사람들이 어떤 하나의 문제를 객체라는 대상을 만들어 보다 정보를 효율적으로 관리

2. 여러 개의 독립된 단위

실제 세계를 모델링한 것
우리가 주변의 실세계에서 사물을 인지하는 방식을 프로그래밍에 접목하려는 사상 (휴대폰, 자동차, 책 등 어떤 대상이 될 수 있다.)

3. { key : value } 형식으로 구성

저장 공간에서 할당되어 값을 가지거나 식별자에 의해 참조되는 공간

 

∴ 객체 🧐

관련된 데이터와 함수(일반적으로 여러 데이터와 함수로 이루어지는데,
객체 안에 있을 때는 보통 프로퍼티와 메소드라고 부릅니다)의 집합..!

∴ 객체지향프로그래밍 🤭

필요한 데이터를 추상화시켜 상태(property)와 행위(method)를 가진 객체를 만들고 객체들간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍

 


 

! OOP 키워드 5가지 !

1. 클래스 & 인스턴스(객체)

- 클래스 (틀)
: 어떤 문제를 해결하기 위한 데이터를 만들기 위해 추상화를 거쳐 집단에 속하는 속성(attribute)와 행위(behavior)를 변수와 메서드롤 정의한것

- 인스턴스 
: 클래스에 정의한것을 토대로 실제 메모리상에 할당되는 것 (클래스 산출물)

 

2. 추상화

: 불필요한 정보 배제하고 중요 정보만 표현

공통의 속성이나 기능을 묶어 이름을 붙이는 것

 

3. 캡슐화 (은닉성)

: 관련된 객체의 속성, 행위를 하나로 묶음
외부 접근을 막아 감추어 숨김

* 접근제한자: 객체 멤버에게 접근 제한을 걸어둠
- public: 모든 접근 허용
- protected: 같은 폴더 내 객체, 상속 관계 객체만 허용
- private: 현재 객체 내에서만 허용
- default: 같은 폴더 내 객체만 허용
(js에서는 this를 통해 public 구현)

 

4. 상속

: 코드를 재수정없이 재활용하는것
남이 짜놓은 소스 “라이브러리”를 내 의도에 맞게 수정 가능
부모클래스의 속성과 기능을 그대로 이어받아 사용 가능하고 기능의 일부분을 변경해야할 경우 상속받은 자식클래스에서 해당 기능만 다시 수정하여 사용할 수 있게 하는 것

 

5. 다형성 ( 객체 부품화 )

: 하나의 이름(변수명, 함수명)이 상황에 따라 다양한 의미로 해석

  • 오버라이딩
    : 부모 클래스와 같은 이름 메서드 자식 클래스에서 재정의

  • 오버로딩
    : 같은 클래스 내 같은 이름 메서드 여러 개 정의
    매개변수 타입, 개수를 다르게 하여 매개변수에 따라 다르게 호출

 


 
- 참조
https://webclub.tistory.com/156
https://itpangpang.xyz/105

profile
Do myself first! 🧐

0개의 댓글