2025-08-09 09:51

Tags: 소프트웨어 공학

객체지향 프로그래밍

  • 프로젝트 규모 커지며 기존 절차지향 프로그래밍 으론 한계

  • 스파게티 코드 처럼 얽혀서 더이상 고칠 수 없는 소프트웨어 부패

  • 복잡한 문제 잘게 쪼개 객체 단위로 조립해서 전체 프로젝트(모듈화)

  • 코드 재사용성, 유지보수, 협업 쉽게 만듦

  • 캡슐화: 데이터(속성) + 함수(메서드) 하나로 묶기 객체 무결성, 정보 은닉

  • 상속: 부모클래스의 속성, 메서드 자식 클래스 물려 받음 코드 재사용성 극대화

  • 다형성: 동일한 이름의 메서드가 객체에 따라 다르게 동작

  • 추상화: 객체의 공통 속성과 기능 추출 추상 클래스 혹은 인터페이스 정의

  • 기본 설계도는 클래스

  • 설계도 바탕으로 만들어진 것이 객체 혹은 인스턴스

References

함수형 프로그래밍 절차지향 프로그래밍 객체 SOLID

객체 지향 방식과 함수형 프로그래밍의 차이점 비교