이 글에서는 자바를 이용해 사다리꼴(Trapezium)의 넓이를 구하는 방법을 알아보겠습니다.
사다리꼴이란?
사다리꼴은 한 쌍 이상의 대변이 서로 평행한 사각형을 말합니다. 영어권에서는 trapezoid라고도 부르며, 우리말로는 흔히 '사다리꼴' 또는 '평행사변형과 유사한 형태의 도형'으로 알려져 있습니다.
- 밑변(Base) : 서로 평행한 두 변
- 옆변(Leg) : 평행하지 않은 나머지 두 변
사다리꼴 넓이 공식
사다리꼴의 넓이는 다음 공식으로 계산할 수 있습니다.
넓이 = (높이 / 2) × (윗변 + 아랫변)
즉,
Area = ½ × (두 평행변의 길이의 합) × (두 평행변 사이의 수직 거리)
아래 그림처럼 평행한 두 변의 길이가 각각 a와 b이고, 높이가 h인 사다리꼴의 넓이는 위 공식으로 구할 수 있습니다.

예를 들어 윗변과 아랫변의 길이가 각각 5와 6, 높이가 6이라면 다음과 같습니다.
입력값
side_1 = 5
side_2 = 6
height = 6
출력값
사다리꼴의 넓이: 33.0
알고리즘
1단계 - 시작(START)
2단계 - 정수형 변수 side_1, side_2, height를 선언하고, 실수형 변수 my_area를 선언한다.
3단계 - 사용자로부터 필요한 값을 입력받거나 값을 직접 정의한다.
4단계 - 공식 (height / 2 * (side_1 + side_2))을 이용해 사다리꼴의 넓이를 계산하고 결과를 저장한다.
5단계 - 결과를 출력한다.
6단계 - 종료(STOP)
예제 1: 사용자 입력값으로 계산하기
아래 예제는 사용자가 직접 값을 입력하면 그 값으로 넓이를 계산하는 방식입니다. 온라인 코딩 도구에서 직접 실행해 볼 수도 있습니다. 
import java.util.Scanner;
public class AreaOfTrapezium {
public static void main(String args[]){
int side_1 , side_2 , height ;
System.out.println("필요한 패키지가 임포트되었습니다");
Scanner my_scanner = new Scanner(System.in);
System.out.println("Scanner 객체가 생성되었습니다 ");
System.out.print("첫 번째 평행변의 길이를 입력하세요: ");
side_1 = my_scanner.nextInt();
System.out.print("두 번째 평행변의 길이를 입력하세요: ");
side_2 = my_scanner.nextInt();
System.out.print("사다리꼴의 높이를 입력하세요: ");
height = my_scanner.nextInt();
float my_area = (height/2 * (side_1 + side_2));
System.out.println("사다리꼴의 넓이: " + my_area);
}
}
실행 결과
필요한 패키지가 임포트되었습니다
Scanner 객체가 생성되었습니다
첫 번째 평행변의 길이를 입력하세요: 5
두 번째 평행변의 길이를 입력하세요: 6
사다리꼴의 높이를 입력하세요: 6
사다리꼴의 넓이: 33.0
예제 2: 미리 정의된 값으로 계산하기
이번에는 값을 코드에 미리 정의해 두고, 해당 값을 읽어와 콘솔에 출력하는 방식입니다. 입력 과정 없이 바로 결과를 확인할 수 있어 테스트에 유용합니다.
public class AreaOfTrapezium {
public static void main(String args[]){
int side_1 = 5, side_2 = 6, height = 6;
System.out.println("사다리꼴의 두 변과 높이는 각각 " +side_1 + ", " + side_2 + " 그리고 " + height + "로 정의되었습니다");
float my_area = (height/2 * (side_1 + side_2));
System.out.println("사다리꼴의 넓이: " + my_area);
}
}실행 결과
사다리꼴의 두 변과 높이는 각각 5, 6 그리고 6으로 정의되었습니다
사다리꼴의 넓이: 33.0
마무리
지금까지 자바에서 사다리꼴의 넓이를 구하는 두 가지 방법, 즉 사용자 입력을 받는 방법과 미리 정의된 값을 사용하는 방법을 살펴보았습니다. 공식만 정확히 기억하면 어떤 프로그래밍 언어에서든 손쉽게 구현할 수 있습니다. 실제 프로젝트에서는 소수점 정밀도를 위해 double 타입을 사용하거나, 입력값 검증 로직을 추가하는 것도 고려해 보세요.