Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 원의 면적과 둘레(둘레 길이)를 계산하는 방법

JavaScript에서는 Math.PI 상수와 간단한 수식만으로 원의 면적과 둘레(원주)를 손쉽게 계산할 수 있습니다. 이 글에서는 객체 지향 방식으로 함수를 작성해 두 값을 한 번에 구하는 예제를 소개합니다.

기본 공식

반지름을 r라고 할 때, 원의 면적과 둘레는 다음 수식으로 구할 수 있습니다.

  • 면적 = π × r²
  • 둘레(원주) = 2 × π × r

JavaScript에는 파이(π) 값이 내장 상수인 Math.PI(약 3.141592653589793)로 제공되므로, 별도의 값을 정의할 필요 없이 바로 사용하면 됩니다.

예제 코드

아래 코드는 반지름을 받아 면적과 둘레를 계산하는 Calculate 객체를 정의하고, 그 결과를 화면에 출력합니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script>
      function Calculate(r) {
         this.r = r;

         // 원의 둘레 계산
         this.perimeter = function () {
            return 2 * Math.PI * this.r;
         };

         // 원의 면적 계산
         this.area = function () {
            return Math.PI * this.r * this.r;
         };
      }

      var calc = new Calculate(5);

      document.write("Area of Circle = ", calc.area().toFixed(2));
      document.write("<br>Perimeter of Circle = ", calc.perimeter().toFixed(2));
   </script>
</body>
</html>

코드 설명

1. Calculate 생성자 함수

Calculate(r)는 반지름 r를 매개변수로 받아 객체 프로퍼티 this.r에 저장합니다. 그리고 두 개의 메서드를 정의합니다.

  • perimeter(): 2 × Math.PI × this.r 공식으로 둘레를 반환합니다.
  • area(): Math.PI × this.r × this.r, 즉 πr² 공식으로 면적을 반환합니다.

2. 객체 생성 및 결과 출력

new Calculate(5)로 반지름이 5인 원의 객체를 만든 뒤, 각 메서드를 호출하여 결과를 얻습니다. toFixed(2)를 사용하면 소수점 둘째 자리까지 반올림된 문자열로 깔끔하게 표시할 수 있습니다.

실행 결과

Area of Circle = 78.54
Perimeter of Circle = 31.42

참고 사항

  • toFixed(n)은 숫자를 소수점 n자리까지 반올림한 문자열을 반환하므로, 이후 추가 연산이 필요하다면 Number()parseFloat()으로 변환해야 합니다.
  • 모던 JavaScript에서는 class 문법이나 Math.pow(this.r, 2), 거듭제곱 연산자(this.r ** 2)를 사용해 더욱 간결하게 작성할 수도 있습니다.
  • document.write()는 학습용 예제이며, 실제 서비스에서는 textContent나 DOM 조작 방식을 사용하는 것이 권장됩니다.