객체 지향 프로그래밍(OOP) 소개
4113 단어 frontendoopjavascript
OOP에는 4가지 핵심 개념이 있습니다.
OOP에서 우리는 관련된 변수와 함수의 그룹을 하나의 단위로 결합하고 그 단위를 객체라고 부릅니다.
이러한 변수를 *속성*이라고 하고 함수를 *메서드*라고 합니다.
예를 들어, 자동차는 모델, 색상 및 시작, 정지 및 이동과 같은 메서드와 같은 속성을 가진 객체로 생각할 수 있습니다.
브라우저의 localStorage는 데이터를 로컬에 저장할 수 있는 객체입니다.
이 로컬 스토리지 객체는 스토리지의 객체 수를 반환하는 length와 같은 속성과 setItem 및 removeItem과 같은 메서드입니다.
OOP에서 우리는 관련 변수와 그에 대해 작동하는 함수를 객체로 그룹화하며 이것이 우리가 캡슐화라고 부르는 것입니다.
절차적 프로그래밍: 한쪽에는 변수가 있고 다른쪽에는 함수가 있습니다.
절차적 프로그래밍 예:
let baseSalary = 30_000;
let overTime = 10;
let rate = 20;
function getWage(baseSalary, overtime, rate) {
return baseSalary + (overTime * rate);
}
OOP 방법 예:
let employee = {
baseSalary: 30_000,
overtime: 10,
rate: 20,
gateWage: function() {
return this.baseSalary + (this.overtime * this.rate);
}
};
왜 이것이 더 나은가요?
캡슐화
데이터를 단일 단위로 묶는 개념입니다. 코드와 코드가 조작하는 데이터를 결합하는 메커니즘입니다. 이 보호막 외부의 코드가 데이터에 액세스하지 못하도록 보호막 역할을 합니다.
추출
개체로 DVD 플레이어. DVD 플레이어는 내부에 복잡한 로직 보드가 있고 외부에는 상호 작용하는 몇 개의 버튼이 있습니다. 플레이 버튼을 누르기만 하면 내부에서 무슨 일이 일어나는지 신경쓰지 않아도 됩니다. 모든 복잡성이 숨겨져 있습니다. 그것은 추상화입니다
객체에 동일한 기술을 사용할 수 있습니다. 일부 속성과 메서드를 외부에서 숨길 수 있으며 이는 다음과 같은 몇 가지 이점을 제공합니다.
계승
중복 코드를 제거할 수 있는 메커니즘입니다.
확인란, 텍스트 상자, 드롭다운 목록이 있습니다. 이 모든 요소에는 몇 가지 공통점이 있습니다. 숨김 및 innerHTML과 같은 속성과 클릭 및 포커스와 같은 메서드가 있어야 합니다. 모든 유형의 HTML 요소에 대해 이러한 모든 속성과 메서드를 재정의하는 대신 HTML 요소라는 일반 개체에서 한 번만 정의하고 다른 개체가 속성과 메서드를 상속하도록 할 수 있습니다.
다형성
다형성은 "많은 형태"를 의미합니다.
긴 if 및 else 또는 switch case 문을 제거할 수 있습니다.
Reference
이 문제에 관하여(객체 지향 프로그래밍(OOP) 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/monicafidalgo/introduction-to-object-oriented-programming-oop-1m0k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)