추출

추상화란 무엇인가



추상화는 복잡성을 줄이고 효율적인 디자인을 생성하는 방법입니다. 그것은 무언가 뒤에 기술적 복잡성을 숨기는 데 사용됩니다. 추상화 계층은 코드의 복잡성이 감소된 시간을 의미합니다. 추상화 수준은 서로 상대적입니다.

장점


  • 추상화 계층이 있는 경우 사용자가 저수준 코드를 작성하는 데 도움이 됩니다
  • .
  • 추상화 계층이 있는 경우 매우 구체적인 세부 사항에 신경 쓸 필요가 없습니다.
  • 예를 들어, javascript는 C보다 추상화 계층이 여러 개 있는 언어입니다. JavaScript는 C 코드의 복잡성을 줄이고 모든 기술적 복잡성(적어도 상당 부분)을 숨깁니다.

  • 실시예 1



    사용자를 다루는 동안 추상화 계층의 또 다른 예
    사용자에게 함수와 클래스를 제공하지 않고 호출해야 하므로 사용자를 혼란스럽게 할 뿐입니다.
    웹사이트 또는 다른 말로 HTML은 자바스크립트 코드의 복잡성을 숨기고 최종 사용자에게 원하는 결과를 제공하여 자바스크립트 코드의 기술적 복잡성을 숨김으로써 자바스크립트에 대한 또 다른 추상화 계층입니다.

    실시예 2



    추상화 계층의 코드 예제

    let input = document.querySelector('input')
    let span = document.querySelector('span');
    input.addEventListener('input', ()=>{
        let lettersLength = input.value.length;
        let wordsLength = input.value.split(' ').length;
        // splits the name into words and gets the length of the corresponding array
    
        span.innerText = `Your name has ${lettersLength} letters and ${wordsLength} words in it`;
    });
    


    위의 코드에는 2개의 추상화 계층이 있습니다.
  • 이 코드를 저수준 코드(예: C 프로그래밍 언어 코드)와 비교하면 이 코드에는 저수준 코드의 기술적 복잡성을 숨기는 추상화 계층이 있습니다.
    이 코드는 메모리 할당의 복잡성을 숨깁니다. 우리가 사용한 문서 API는 DOM 연결의 복잡성을 숨깁니다.
    C로 같은 코드를 작성했다면 메모리 할당을 해야 하고 조작을 위해 브라우저와 DOM에 연결할 수 있는 자체 API를 만들어야 하므로 훨씬 더 복잡했을 것입니다.
    따라서 javascript는 C의 기술적 복잡성을 숨기므로 추상화 계층을 형성합니다
  • .
  • JavaScript 코드를 브라우저의 웹 사이트 렌더링과 비교하면 웹 사이트 렌더링에는 추상화 계층이 있고 최종 사용자에게 JavaScript 코드의 기술적 복잡성을 숨깁니다.
    사용자는 자신의 이름을 입력하기만 하면 문자와 단어의 수를 얻을 수 있으며 이는 사용자에게 매우 간단합니다.
    웹사이트에는 변수를 선언할 필요가 없고, 단어 수를 계산하기 위해 텍스트를 배열로 분할하는 등 자바스크립트 코드의 복잡성을 숨길 필요가 없기 때문에 자바스크립트 코드에 대한 추상화 계층이 있습니다
  • .

    좋은 웹페이지 즐겨찾기