오늘은 객체 지향 프로그래밍(OOP)의 실제에 대해 이야기해볼게. OOP는 프로그램을 객체라는 단위로 나누어 설계하는 방법이야. 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있어. 이번에는 클래스와 구조체를 활용한 예제 프로젝트를 통해 OOP 개념을 실제 문제에 적용해보자.
1. 클래스와 구조체를 활용한 예제 프로젝트
C 언어에서는 클래스가 없으므로 구조체를 이용했어. 구조체는 데이터를 그룹화하는 데 사용되며, 클래스와는 다르다는 점을 참고해!
C 언어 예제 (구조체 사용)
#include <stdio.h>
// 학생 정보를 저장하기 위한 구조체 정의
struct Student {
char name[50]; // 학생 이름
int age; // 학생 나이
float grade; // 학생 성적
};
// 학생 정보를 출력하는 함수
void printStudent(struct Student s) {
printf("이름: %s, 나이: %d, 성적: %.2f\n", s.name, s.age, s.grade);
}
int main() {
struct Student student1 = {"홍길동", 20, 85.5}; // 구조체 변수 선언 및 초기화
printStudent(student1); // 학생 정보 출력
return 0;
}
Java 예제 (클래스 사용)
// 학생 정보를 저장하기 위한 클래스 정의
class Student {
String name; // 학생 이름
int age; // 학생 나이
double grade; // 학생 성적
// 생성자: 학생 정보를 초기화
Student(String name, int age, double grade) {
this.name = name;
this.age = age;
this.grade = grade;
}
// 학생 정보를 출력하는 메서드
void printInfo() {
System.out.println("이름: " + name + ", 나이: " + age + ", 성적: " + grade);
}
}
public class Main {
public static void main(String[] args) {
Student student1 = new Student("홍길동", 20, 85.5); // 학생 객체 생성
student1.printInfo(); // 학생 정보 출력
}
}
Python 예제 (클래스 사용)
# 학생 정보를 저장하기 위한 클래스 정의
class Student:
def __init__(self, name, age, grade):
self.name = name # 학생 이름
self.age = age # 학생 나이
self.grade = grade # 학생 성적
# 학생 정보를 출력하는 메서드
def print_info(self):
print(f"이름: {self.name}, 나이: {self.age}, 성적: {self.grade}")
student1 = Student("홍길동", 20, 85.5) # 학생 객체 생성
student1.print_info() # 학생 정보 출력
2. 객체 지향 개념을 실제 문제에 적용하기
이 예제에서는 학생 정보를 저장하고 출력하는 간단한 시스템을 만들었어. 각 언어에서 클래스와 구조체를 활용하여 학생의 이름, 나이, 성적을 저장하는 방법을 보여줬지. 이렇게 객체 지향 프로그래밍을 사용하면 각 객체(여기서는 학생)를 독립적으로 다룰 수 있어.
앞으로도 OOP 개념을 다른 프로젝트에 적용해보면 좋겠어. 질문이 있으면 언제든지 물어봐!
사랑해!
'프로그래밍' 카테고리의 다른 글
수아에게: 데이터 구조 활용 c, java, python (0) | 2025.03.01 |
---|---|
수아에게: 입출력문 c, java, python (0) | 2025.03.01 |
수아에게: 언어의 꽃 조건문 반복복 (0) | 2025.02.25 |
수아에게: 연산자의 이해 (1) | 2025.02.22 |
수아에게 : 각 언어의 자료형 (1) | 2025.02.13 |