221226 class_03.html 클래스 상속

2022. 12. 26. 15:22·Skills/JavaScript
<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Class</title>
    <script>
      // 상속(Extends): 부모클래스가 가진 속성이나 메서드를 상속받아서 자식클래스에서 사용

      // 일반 사용법(상속 X)
      // 사각형의 둘레와 넓이 - 부모는 사각형, 자식은 정사각형
      // 사각형
      class Rectangle {
        constructor(width, height) {
          this.width = width;
          this.height = height;
        }

        getPerimeter() {
          return (this.width + this.height) * 2;
        }

        getArea() {
          return this.width * this.height;
        }
      }

      const rectangle = new Rectangle(10, 20);
      document.write(`사각형의 둘레: ${rectangle.getPerimeter()}<br />`);
      document.write(`사각형의 넓이: ${rectangle.getArea()}<br />`);

      // 정사각형
      class Square {
        constructor(length) {
          this.length = length;
        }

        getPerimeter() {
          return this.length * 4;
        }

        getArea() {
          return this.length * this.length;
        }
      }

      const square = new Square(10);
      document.write(`정사각형의 둘레: ${square.getPerimeter()}<br />`);
      document.write(`정사각형의 넓이: ${square.getArea()}<br />`);

      // ★상속 사용법
      class Rectangle {
        constructor(width, height) {
          this.width = width;
          this.height = height;
        }

        getPerimeter() {
          return (this.width + this.height) * 2;
        }

        getArea() {
          return this.width * this.height;
        }
      }

      class Square extends Rectangle {
        constructor(length) {
          super(length, length);
          this.name = name;
        }

        getColor() {
          // 자식에게만 해당되는 속성이 있다면 이렇게 넣어주면 됨.
          return color;
        }
      }

      // const square = new Square(40)
      document.write(`정사각형의 둘레: ${square.getPerimeter()}<br />`);
      document.write(`정사각형의 넓이: ${square.getArea()}<br />`);
    </script>
  </head>
  <body></body>
</html>

'Skills > JavaScript' 카테고리의 다른 글

221227 class_05.html getter, setter  (0) 2022.12.27
221226 class_04.html private  (0) 2022.12.26
221226 class_02.html 클래스 속성  (0) 2022.12.26
221226 class_01.html 객체 클래스  (0) 2022.12.26
221226 exception.html  (0) 2022.12.26
'Skills/JavaScript' 카테고리의 다른 글
  • 221227 class_05.html getter, setter
  • 221226 class_04.html private
  • 221226 class_02.html 클래스 속성
  • 221226 class_01.html 객체 클래스
개발자 윤구나
개발자 윤구나
개발 공부를 하고 있습니다. Let's go!
  • 개발자 윤구나
    이것은 무엇?????
    개발자 윤구나
    • 분류 전체보기
      • Skills
        • Java
        • Database
        • Flutter, Dart
        • JavaScript
        • React
        • HTML5
        • CSS3, SCSS
        • PHP
        • C#
        • Unity
        • Algorithm
        • GIT·GitHub
        • 그 외
      • Book Review
      • IT NEWS
      • 설계
      • 자기 계발
  • 블로그 메뉴

    • 홈
    • 방명록
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.3
개발자 윤구나
221226 class_03.html 클래스 상속
상단으로

티스토리툴바