상세 컨텐츠

본문 제목

객체 지향 프로그래밍(Object-Oriented Programming, OOP)

Information Technology/Computer Science

by Developer, Jiyong Kim 2024. 5. 2. 22:28

본문

객체 지향 프로그래밍이란 독립적으로 기능하는 각각의 객체들을 통해 프로그래밍하는 방식을 말한다. 다양한 레고 블록을 모아서 하나의 레고 완성품을 조립하는 것을 생각하면 된다.

 

예를 들어 프로그램 내에서 '사람'을 객체로 다룬다면, '사람' 객체는 '이름', '나이' 등의 데이터를 속성으로 가지며, '말하기', '걷기' 등의 행동을 메서드로 가진다. 이러한 객체들이 각자 독립적으로 작동하며 필요할 때 서로 상호작용 하는 것이다.

 

사람이라는 클래스의 한 객체(SomeName) 예시

 

객체 지향 프로그래밍의 특징 중의 하나는 '관심사의 분리(Seperation of Concerns)'이다. 이는 큰 문제를 작은 부분으로 나누어 각 부분이 자신의 관심사만을 처리하도록 설계하는 것을 말한다. 예를 들어, '데이터베이스 관리' 객체는 데이터베이스 연결과 데이터 조작 관련 작업만 처리하고, '사용자 인터페이스' 객체는 사용자와의 상호작용만을 담당하는 것이다.

 

이렇게 관심사를 분리하여 처리함으로써 프로그램 전체의 설계가 명확해지고 각 부분의 재사용성이 높아지는 장점이 있다. 이는 코드의 복잡성을 줄이고, 유지보수를 쉽게 하며, 여러 문제를 동시에 처리할 수 있도록 도와준다.

 

자바(Java)는 OOP를 주요 패러다임으로 채택하고 있다. 파이썬(Python)은 클래스를 정의하여 OOP를 쉽게 구현할 수 있지만, 필요에 따라 다양한 패러다임의 프로그래밍을 채택한다.

 

결론적으로, OOP는 복잡한 시스템을 모듈화하고 관리 가능하게 설계하는 데 유리하며, 대규모 소프트웨어 개발에서 자주 사용된다.

관련글 더보기