[객체지향프로그래밍] 절차적 언어 vs 객체지향 언어의 특징
절차적 언어는 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();
}
}