객체지향 프로그래밍 vs 절차지향 프로그래밍

SW설계앱설계객체지향
읽는데 5분 소요
처음 쓰여진 날: 2026-02-18
마지막 수정일: 2026-02-18
조회수: 16

요약

정보처리기사 실기에 출제되는 객체지향 프로그래밍과 절차지향 프로그래밍의 차이를 비교합니다. 객체지향의 4대 특징(캡슐화, 상속, 다형성, 추상화)과 각 언어(Java, C)의 특성을 정리합니다.

용어키워드
절차지향 프로그래밍순차적 실행, 함수 중심, C언어
객체지향 프로그래밍객체, 클래스, 캡슐화, 상속, 다형성, 추상화
캡슐화데이터 은닉, 정보 은닉, 접근 제어
상속코드 재사용, 부모-자식, extends
다형성오버라이딩, 오버로딩, 하나의 인터페이스
추상화공통 속성 추출, 불필요한 세부사항 제거

프로그래밍 패러다임이란?

프로그래밍 패러다임은 프로그래밍의 방식이나 관점을 말합니다. 대표적으로 절차지향객체지향이 있으며, 정보처리기사 시험에서는 이 두 가지의 차이를 묻는 문제가 출제됩니다.

패러다임핵심 개념대표 언어
절차지향함수(프로시저) 중심으로 순차 실행C
객체지향객체(데이터 + 메서드) 중심으로 상호작용Java, Python, C++


절차지향 프로그래밍

절차지향 프로그래밍은 프로그램을 함수(프로시저) 단위로 나누고, 이 함수들을 순차적으로 실행하는 방식입니다. C언어가 대표적인 절차지향 언어입니다.

c
코드 하이라이팅 중...

절차지향의 특징:

  • 함수(프로시저) 를 사용하여 코드를 구조화합니다
  • 데이터와 함수가 분리되어 있습니다
  • 클래스가 없으므로 추상 클래스, 인터페이스, 상속 같은 개념이 없습니다

객체지향 프로그래밍

객체지향 프로그래밍(OOP) 은 프로그램을 객체 단위로 구성하고, 객체들이 서로 상호작용하는 방식입니다. Java가 대표적인 객체지향 언어입니다.

java
코드 하이라이팅 중...

객체지향의 특징:


절차지향 vs 객체지향 비교

구분절차지향객체지향
중심 단위함수(프로시저)객체(클래스)
데이터와 기능분리하나의 객체로 결합
코드 재사용함수 호출상속, 다형성
대표 언어CJava, Python, C++
클래스없음있음
상속불가능가능
다형성불가능가능 (오버라이딩, 오버로딩)
캡슐화불가능가능 (접근 제어자)


객체지향의 4대 특징

객체지향의 핵심 특징 4가지입니다.

1. 캡슐화 (Encapsulation)

데이터(속성)와 데이터를 처리하는 메서드를 하나로 묶고, 외부에서 직접 접근하지 못하도록 정보를 은닉하는 것입니다.

java
코드 하이라이팅 중...

핵심 키워드: 데이터 은닉, 정보 은닉, 접근 제어자(private, public)

2. 상속 (Inheritance)

부모 클래스의 속성과 메서드를 자식 클래스가 물려받아 재사용하는 것입니다.

java
코드 하이라이팅 중...

핵심 키워드: 코드 재사용, 부모-자식 관계, extends

상속에 대해 더 자세히 알아보기

3. 다형성 (Polymorphism)

하나의 이름으로 여러 가지 형태의 동작을 할 수 있는 것입니다. 오버라이딩오버로딩이 대표적입니다.

java
코드 하이라이팅 중...

핵심 키워드: 오버라이딩, 오버로딩, 하나의 인터페이스로 여러 구현

4. 추상화 (Abstraction)

불필요한 세부 사항을 제거하고, 공통적인 속성과 기능을 추출하여 정의하는 것입니다. 추상 클래스인터페이스가 추상화를 구현하는 방법입니다.

java
코드 하이라이팅 중...

핵심 키워드: 공통 속성 추출, 불필요한 세부사항 제거, 추상 클래스, 인터페이스


관련 이론

관련 글

(35개)
제목태그시험
객체와 클래스 - 클래스, 인스턴스, 생성자
객체지향
-
객체 지향 설계 원칙 - SOLID
객체지향
-
럼바우 객체 모델링 - 객(정)동기
객체지향
-