Computer Science

[객체지향프로그래밍] 절차적 언어 vs 객체지향 언어의 특징

imsunbow 2024. 6. 5. 17:00

절차적 언어는 high level language의 초기 버전으로서, 연속적인 command를 실행하는데에 집중하는 언어로 작용한다. 이해하기 쉽고, 코드를 짜기도 쉬우며, 재사용되기 어렵다는 점이 특징이다.

 

객체지향 언어는 연속적인 프로그래밍을 목적으로 하지 않는다. 그 대신 각 객체를 선언하고, 객체간의 관계를 표현한다. 이러한 객체지향 언어는 코드 재사용, 유지보수, 추상화에 도움이 된다.

 

 

# 절차적 프로그래밍 예제

def add_numbers(a, b):
    return a + b

def main():
    num1 = 5
    num2 = 3
    result = add_numbers(num1, num2)
    print(f"두 숫자의 합: {result}")

if __name__ == "__main__":
    main()

 

# 객체지향 프로그래밍 예제

import java.util.Scanner;

// Calculator 클래스 정의
class Calculator {
    // 두 수의 합을 계산하는 메서드
    public int add(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        // Scanner 객체 생성
        Scanner scanner = new Scanner(System.in);

        // Calculator 객체 생성
        Calculator calc = new Calculator();

        // 사용자로부터 두 수를 입력받음
        System.out.println("Enter first number: ");
        int num1 = scanner.nextInt();
        System.out.println ("Enter second number: ");
        int num2 = scanner.nextInt();

        // 합을 계산하고 출력
        int sum = calc.add(num1, num2);
        System.out.println("Sum: " + sum);

        // Scanner 객체 닫기
        scanner.close();
    }
}

반응형