본문 바로가기
패캠 환챌 07월 시작

패스트캠퍼스 환급챌린지 48일차 : 모두의 AI 케인의 Agent로 완성하는 RAG: 데이터 별 아키텍처 설계를 중심으로 강의 후기

by 논문보관함 2025. 8. 17.

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://fastcampus.info/4n8ztzq

 

(~6/20) 50일의 기적 AI 환급반💫 | 패스트캠퍼스

초간단 미션! 하루 20분 공부하고 수강료 전액 환급에 AI 스킬 장착까지!

fastcampus.co.kr

  오늘 강의에서는 객체지향 프로그래밍(Object-Oriented Programming, OOP)의 핵심 개념과 그 대표적인 특징에 대해 배웠다. 이번 수업은 사실 본 과정의 주제인 LLM 학습과는 직접적으로 관련된 내용은 아니었고, LLM 과정의 부록으로 제공된 파이썬 프로그래밍 강의 중 하나였다. 평소에는 딥러닝과 모델 파인튜닝 같은 고급 개념들에 집중하다 보니, 이렇게 기초적인 프로그래밍 개념을 다시 짚어볼 기회가 드물었는데, 오랜만에 다시 공부하니 감회가 새로웠다. 마치 예전에 처음 프로그래밍을 배울 때의 설렘을 다시 떠올린 기분이었다.

  수업에서는 OOP의 4대 특징(추상화, 캡슐화, 상속, 다형성)을 중심으로 다루었는데, 단순히 개념을 설명하는 데서 그치지 않고 은행 계좌 프로그램이라는 친숙한 예제를 통해 직접 체험할 수 있었다. 추상화는 공통된 특징만 뽑아내어 틀을 만드는 과정으로, Account라는 추상 클래스를 정의하고 그 안에 withdraw 같은 공통 인터페이스를 마련해두는 방식이었다. 구체적인 동작은 자식 클래스가 구현하는 구조를 보면서, ‘큰 틀을 정해놓고 나머지를 확장한다’는 추상화의 의미를 더 잘 이해할 수 있었다.

  캡슐화는 데이터 보호의 개념이었다. __balance처럼 외부에서 직접 접근할 수 없는 변수를 두고, get_balance() 같은 메서드로만 접근 가능하게 만드는 방식이 바로 그것이었다. 이를 통해 외부의 잘못된 접근을 차단하고 안정적인 프로그램 설계를 할 수 있다는 점에서 실제 서비스에 중요한 개념임을 알게 되었다. 상속은 부모 클래스의 기능을 자식 클래스가 물려받아 활용하고, 필요에 따라 확장하는 개념이었다. SavingsAccount와 CheckingAccount가 Account 클래스를 상속받아 공통 기능은 재사용하면서 자신만의 특수 기능을 추가하는 구조는 매우 실용적이었다.

  가장 흥미로웠던 부분은 다형성이었다. 같은 withdraw() 메서드를 호출했지만, 저축계좌는 잔액 부족 시 출금을 거부하고, 당좌계좌는 마이너스 한도까지 허용했다. 이렇게 같은 인터페이스라도 클래스에 따라 다른 동작을 하게 만드는 것이 바로 다형성이라는 사실을 몸소 확인할 수 있었다. 이처럼 실제 코드로 구현해보니 개념적인 설명보다 훨씬 더 선명하게 다가왔다.

이번 강의를 통해 단순한 문법 학습을 넘어, 왜 객체지향 프로그래밍이 소프트웨어 설계에서 중요한 패러다임인지 다시금 느낄 수 있었다. 특히 LLM이나 인공지능 프로젝트처럼 점점 복잡해지는 프로그램을 다루다 보면, 구조적인 설계와 재사용성이 무엇보다 중요해진다. 이번에 다시 배우게 된 OOP의 기본기는 그런 복잡한 프로젝트를 더 안정적으로 이끌어갈 수 있는 기초 체력이 될 것이라 생각한다.

  마지막으로 개인적인 소회를 덧붙이자면, 오랜만에 이렇게 기초 프로그래밍을 복습하니 예전 학부 시절에 처음 파이썬으로 객체지향을 배우던 때가 떠올라 감회가 새로웠다. 최근에는 고급 AI 모델과 대규모 프레임워크를 다루느라 이런 기본 개념을 잊고 있었는데, 부록 강의를 통해 다시 상기할 수 있어서 오히려 더 의미 있는 시간이었다. 앞으로도 이런 기본기를 다시 돌아볼 기회가 더 많았으면 좋겠다는 생각이 들었다.