728x90
절차 지향 프로그래밍 (Procedural Programming)
- 프로시저(Procedure) 또는 함수 중심.
- 코드가 순차적으로 실행되며, 제어 흐름은 주로 조건문과 반복문을 통해 구현.
- 코드의 가독성 Good, 실행속도 빠름.
- 실행 순서가 정해져있으므로 상대적으로 유지보수 및 디버깅이 어려움.
- ex. c언어
// 절차 지향 프로그래밍
public class ProceduralExample {
public static void main(String[] args) {
// 데이터
String animalName = "고양이";
int animalAge = 3;
// 함수 호출
makeAnimalSound(animalName);
showAnimalAge(animalAge);
}
// 함수 정의
public static void makeAnimalSound(String name) {
System.out.println(name + "이 소리를 냅니다.");
}
public static void showAnimalAge(int age) {
System.out.println("동물의 나이: " + age + "세");
}
}
객체 지향 프로그래밍 (Object-Oriented Programming)
- 객체(Object) 중심.
- 데이터와 그 데이터를 처리하는 함수를 하나의 단위로 묶어서 클래스로 정의하고 이를 객체로 활용.
- 코드 재사용성이 높고 디버깅이 쉬움, 유지보수에 용이함.
- 상대적으로 처리속도가 느리고 많은 양의 메모리 사용.
- ex. Java
// 객체 지향 프로그래밍
class Animal {
private String name;
private int age;
// 생성자
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
// 메서드
public void makeSound() {
System.out.println(name + "이 소리를 냅니다.");
}
public void showAge() {
System.out.println("동물의 나이: " + age + "세");
}
}
public class ObjectOrientedExample {
public static void main(String[] args) {
// 객체 생성
Animal cat = new Animal("고양이", 3);
// 메서드 호출
cat.makeSound();
cat.showAge();
}
}
'CS 스터디' 카테고리의 다른 글
#08. TCP와 UDP의 특징 및 차이 (1) | 2024.02.07 |
---|---|
#07. OSI 7계층(OSI 7 Layer) 개념 / 각 계층별 특징 (0) | 2024.02.05 |
#05. 객체 지향 프로그래밍(OOP)의 개념 / 특징 / 설계 원칙 (0) | 2024.01.30 |
#04. 동기와 비동기 (0) | 2024.01.24 |
#03. 쿠키(Cookie)와 세션(Session) (0) | 2024.01.23 |