객체 지향 프로그래밍(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);
        }
    };
    



    왜 이것이 더 나은가요?
  • getWage 함수에는 매개변수가 없습니다(절차적 예에서는 3개의 매개변수가 있음)
  • 두 번째 경우에는 실제로 이 개체의 속성으로 모델링되기 때문에 이러한 매개 변수가 없습니다.



  • 캡슐화



    데이터를 단일 단위로 묶는 개념입니다. 코드와 코드가 조작하는 데이터를 결합하는 메커니즘입니다. 이 보호막 외부의 코드가 데이터에 액세스하지 못하도록 보호막 역할을 합니다.


    추출



    개체로 DVD 플레이어. DVD 플레이어는 내부에 복잡한 로직 보드가 있고 외부에는 상호 작용하는 몇 개의 버튼이 있습니다. 플레이 버튼을 누르기만 하면 내부에서 무슨 일이 일어나는지 신경쓰지 않아도 됩니다. 모든 복잡성이 숨겨져 있습니다. 그것은 추상화입니다

    객체에 동일한 기술을 사용할 수 있습니다. 일부 속성과 메서드를 외부에서 숨길 수 있으며 이는 다음과 같은 몇 가지 이점을 제공합니다.
  • 이러한 개체의 인터페이스는 더 간단합니다.
  • 변경의 영향을 줄입니다. 내부에서 메소드 또는 속성을 변경하면 외부로 누출되지 않고 나머지 애플리케이션 코드에 영향을 미치지 않습니다.


  • 계승



    중복 코드를 제거할 수 있는 메커니즘입니다.

    확인란, 텍스트 상자, 드롭다운 목록이 있습니다. 이 모든 요소에는 몇 가지 공통점이 있습니다. 숨김 및 innerHTML과 같은 속성과 클릭 및 포커스와 같은 메서드가 있어야 합니다. 모든 유형의 HTML 요소에 대해 이러한 모든 속성과 메서드를 재정의하는 대신 HTML 요소라는 일반 개체에서 한 번만 정의하고 다른 개체가 속성과 메서드를 상속하도록 할 수 있습니다.


    다형성



    다형성은 "많은 형태"를 의미합니다.
    긴 if 및 else 또는 switch case 문을 제거할 수 있습니다.

    좋은 웹페이지 즐겨찾기