절차적 언어는 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();
}
}
'Computer Science' 카테고리의 다른 글
[객체지향프로그래밍] static 변수에 대하여(non-static 변수와 어떻게 다를까?) (0) | 2024.06.12 |
---|---|
[객체지향프로그래밍] JAVA의 garvage collection 개념 (0) | 2024.06.05 |
[자료구조] Text pattern matching- Naive Approach 방법, 코드 구현 (0) | 2024.06.04 |
[자료구조] Heap Sort 개념 (feat. Merge Sort와의 비교) (0) | 2024.06.03 |
[자료구조] Hashing 개념, collision 개념(Ch.05 Hashing) (0) | 2024.06.01 |