본문 바로가기
IT

정보처리기사 객체지향 구성요소 캡슐화·상속·다형성 완전정복

by 카카오망고 2025. 4. 2.
반응형

 

정보처리기사 객체지향 구성요소

정보처리기사 객체지향 구성요소

목차

1. 객체지향 프로그래밍이란? 정보처리기사 기준의 정의와 필요성

객체지향의 개념

객체지향 프로그래밍(Object-Oriented Programming, OOP)은 현실 세계를 모델링하여 컴퓨터 프로그램을 구성하는 방식을 의미합니다. 이 방식은 "객체"라는 개념을 중심으로 구성되며, 객체는 데이터(속성)와 그 데이터를 처리하는 행위(메서드)를 하나로 묶은 독립적 단위입니다. 객체는 자신이 가진 데이터에 대해 스스로 책임을 지며, 외부와의 관계를 최소화함으로써 코드의 재사용성과 유지보수성을 극대화할 수 있습니다.

정보처리기사 시험에서는 객체지향 프로그래밍을 단순한 개념이 아닌, 소프트웨어 설계, 개발, 유지보수의 전반적인 이해를 위한 핵심 이론으로 다룹니다. 객체지향의 3대 구성요소인 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism)은 모든 객체지향 언어에서 기본으로 제공되는 개념이며, 시험에서 반드시 알고 있어야 할 기본 이론입니다.

객체지향은 절차지향 프로그래밍(Procedural Programming)과는 접근 방식이 다릅니다. 절차지향은 명령어의 순차적 흐름을 따라 프로세스를 설계하는 반면, 객체지향은 ‘누가 어떤 책임을 가지는가’에 따라 프로그램의 구조를 정의합니다. 예를 들어, 자동차를 모델링한다고 했을 때, 자동차라는 객체는 ‘운전하다’, ‘정지하다’, ‘속도를 올리다’와 같은 동작을 스스로 수행하게 설계합니다.

이러한 객체지향 개념은 Java, C++, Python, C#, Kotlin 등의 현대 프로그래밍 언어에 광범위하게 적용되며, 개발자들이 협업하고 유지보수할 때 공통 언어처럼 기능합니다. 따라서 정보처리기사 시험에서는 단순히 개념을 암기하는 것이 아니라, 객체지향이 실제 소프트웨어 설계에 어떤 역할을 하는지에 대한 이해가 중요하게 평가됩니다.

정보처리기사 시험에서 객체지향이 왜 중요한가?

정보처리기사 필기 시험에서는 시스템 분석, 시스템 설계, 프로그래밍 언어, 소프트웨어 공학 등 여러 과목에서 객체지향 개념이 연계되어 출제됩니다. 특히, "시스템 설계"와 "프로그래밍 언어" 과목에서 객체지향의 3요소(캡슐화, 상속, 다형성)를 직접적으로 묻는 문제가 반복 출제됩니다.

예를 들어, 다음과 같은 문제 유형이 등장합니다:

  • "객체지향 프로그래밍의 특징으로 옳지 않은 것은?"
  • "하위 클래스가 상위 클래스의 속성과 메서드를 물려받는 개념은?"
  • "캡슐화의 효과로 알맞은 것을 모두 고르시오."

실제 기출을 분석해보면, 객체지향 개념은 단순히 1~2문제로 끝나는 것이 아니라, 전체 과목을 통틀어 10문항 이상에서 직간접적으로 연결되는 핵심 키워드입니다.

또한 실기시험에서는 UML 클래스 다이어그램이나 프로그램 흐름도 작성 등에서 객체지향 개념이 요구되기 때문에, 필기에서부터 개념을 정확히 이해해두는 것이 장기적으로 큰 도움이 됩니다.

요약하자면, 객체지향 프로그래밍은 단순한 시험 지식이 아니라, 실무와 자격 시험 모두에서 요구되는 기초이자 필수입니다. 앞으로 살펴볼 각 구성요소(캡슐화, 상속, 다형성)에 대한 이해는 정보처리기사 합격의 첫걸음입니다.

2. 캡슐화(Encapsulation): 데이터 보호의 첫걸음

캡슐화의 정의와 의미

캡슐화(Encapsulation)는 객체지향 프로그래밍의 핵심 개념 중 하나로, 데이터(속성)와 해당 데이터를 처리하는 함수(메서드)를 하나의 단위로 묶는 것을 의미합니다. 이는 외부로부터 객체 내부의 구조를 숨기고, 필요한 기능만 노출함으로써 데이터 무결성과 보안성을 확보할 수 있는 기법입니다.

쉽게 말해, 캡슐화는 정보은닉(information hiding)을 실현하는 수단입니다. 어떤 클래스(Class)의 내부 속성은 외부에서 직접 접근하지 못하도록 제한하고, 메서드를 통해서만 간접적으로 접근하도록 설계함으로써 잘못된 데이터 변경을 막을 수 있습니다.

예를 들어, 은행 계좌(Account)라는 객체를 생각해봅시다. 사용자가 직접 잔액(balance) 변수에 접근하여 값을 임의로 수정할 수 있다면 이는 큰 보안 문제가 됩니다. 하지만 입금(deposit), 출금(withdraw)이라는 메서드를 통해서만 잔액이 변경되도록 한다면, 조건문, 로그, 오류 처리 등을 메서드 내부에서 통제할 수 있으므로 안정성이 향상됩니다.

실제 구현 방식과 접근 제한자

대부분의 객체지향 언어(Java, C++, Python 등)는 캡슐화를 지원하기 위해 접근 제한자(access modifier)를 제공합니다. 접근 제한자는 클래스 내부 멤버(속성, 메서드)의 접근 가능 범위를 지정하여 외부에서의 무분별한 접근을 차단합니다.

자바(Java)를 기준으로 가장 많이 사용되는 접근 제한자는 다음과 같습니다:

  • private : 클래스 내부에서만 접근 가능 (외부 클래스 접근 불가)
  • public : 모든 외부에서 접근 가능
  • protected : 같은 패키지 또는 상속받은 클래스에서 접근 가능
  • (default) : 같은 패키지에서만 접근 가능

캡슐화는 이 중 private 접근 제한자를 주로 활용하여 데이터를 숨기고, public 메서드를 통해 데이터를 간접적으로 조작하는 방식으로 구현됩니다. 이를 통해 내부 구현은 변경하더라도 외부 인터페이스는 그대로 유지할 수 있어, 유지보수성과 확장성이 뛰어난 소프트웨어 설계가 가능해집니다.

정보처리기사 시험에서 캡슐화가 출제되는 방식

정보처리기사 필기시험에서는 캡슐화의 정의와 목적, 구현 방식에 대해 아래와 같은 유형으로 출제됩니다.

  • "캡슐화(Encapsulation)에 대한 설명으로 옳은 것을 고르시오."
  • "객체지향 개념 중 데이터와 메서드를 하나로 묶고 외부 접근을 제한하는 것은?"
  • "캡슐화를 구현하기 위해 사용하는 접근 제한자로 올바른 것은?"

이처럼 시험에서는 개념 정의뿐만 아니라 객체지향 언어에서의 실질적 구현방식까지 이해하고 있어야 풀 수 있는 문제들이 등장합니다.

또한 실기 시험에서는 UML 클래스 다이어그램에서 속성에 대한 접근 제한자 표기(`+`, `-`, `#`)를 이해하고 있어야 하며, 이 역시 캡슐화에 대한 구조적 이해를 바탕으로 한 출제입니다.

캡슐화가 중요한 이유

캡슐화는 단순한 보안 개념이 아닙니다. 객체 중심의 설계를 가능하게 하며, 모듈화를 통해 프로그램을 더 효율적으로 개발하고 유지보수할 수 있게 만들어줍니다.

캡슐화를 제대로 활용하면 다음과 같은 장점이 있습니다:

  • 데이터 무결성 유지 (부적절한 접근 방지)
  • 코드 수정 시 영향 범위 최소화 (인터페이스 고정)
  • 객체 간 협업이 명확해짐 (책임 분리)

따라서 정보처리기사 자격을 준비하는 수험자라면, 캡슐화는 단순히 외우는 개념이 아니라 객체지향 전체를 관통하는 기초 개념으로 이해하고, 다양한 문제 유형에 대비해야 합니다.

3. 상속(Inheritance): 코드 재사용과 계층 구조 이해

상속의 개념

상속(Inheritance)은 객체지향 프로그래밍에서 기존의 클래스를 바탕으로 새로운 클래스를 생성할 수 있게 해주는 강력한 기능입니다. 상속을 통해 부모 클래스(상위 클래스)의 속성과 메서드를 자식 클래스(하위 클래스)가 물려받아 사용할 수 있으며, 코드의 중복을 줄이고 유지보수성을 향상시키는 데 핵심적인 역할을 합니다.

예를 들어, “자동차(Car)”라는 상위 클래스가 있고, “전기차(ElectricCar)”, “스포츠카(SportsCar)”라는 하위 클래스가 있을 때, 두 하위 클래스는 자동차가 가지는 공통 속성(브레이크, 가속, 정지 등)을 그대로 상속받을 수 있습니다. 여기에 자신만의 고유 기능(예: 충전, 터보 등)을 추가하여 확장할 수 있으므로, 객체 간의 관계를 자연스럽게 모델링할 수 있습니다.

상속은 ‘is-a 관계’를 기반으로 설계됩니다. 예: 스포츠카 is-a 자동차. 이는 상속 설계 시 중요한 판단 기준이 되며, 객체지향 설계의 철학을 이해하는 데 필수적입니다.

상속의 구조와 구현 방법

상속은 클래스 선언 시 상속 키워드를 사용하여 구현됩니다. 자바(Java)를 기준으로 보면 다음과 같습니다:

class Car {
    void drive() {
        System.out.println("운전합니다.");
    }
}

class ElectricCar extends Car {
    void charge() {
        System.out.println("충전 중입니다.");
    }
}
  

위 예시에서 ElectricCar는 Car 클래스를 상속받아 drive() 메서드를 그대로 사용할 수 있으며, 자신만의 메서드인 charge()도 별도로 정의할 수 있습니다. 이러한 방식은 코드의 재사용성을 크게 향상시키며, 다형성과 결합되었을 때 객체 설계에 유연함을 제공합니다.

또 다른 특징으로는 오버라이딩(Overriding)을 들 수 있습니다. 상속받은 메서드를 자식 클래스에서 목적에 맞게 재정의함으로써, 동일한 이름의 메서드가 상황에 따라 다르게 작동하도록 만들 수 있습니다. 이는 다형성과 함께 자주 등장하는 개념으로, 상속이 있기에 가능한 기능입니다.

정보처리기사 시험에서 상속이 출제되는 방식

상속은 정보처리기사 필기시험의 “프로그래밍 언어”, “소프트웨어 설계” 과목 등에서 반복적으로 등장하는 핵심 개념입니다. 자주 출제되는 형태는 다음과 같습니다:

  • "상속의 정의로 옳은 것은?"
  • "다음 중 상속의 장점으로 적절하지 않은 것은?"
  • "오버라이딩과 오버로딩의 차이를 설명한 것으로 알맞은 것?"
  • "상속을 통해 구현할 수 있는 설계의 예는?"

또한 실기 영역에서는 클래스 다이어그램(UML)에서의 상속 관계를 표현하는 방법, 코딩 문제에서 부모 클래스와 자식 클래스의 메서드 호출 결과 분석 등의 문제로도 출제됩니다.

상속의 장점과 주의점

상속은 다음과 같은 장점을 제공합니다:

  • 코드의 재사용성 증가 → 동일 기능을 반복 작성하지 않아도 됨
  • 유지보수성 향상 → 상위 클래스 하나만 수정하면 전체 적용 가능
  • 다형성과 결합 → 설계의 유연성 증가
  • 추상화 및 계층 구조 표현 용이 → 복잡한 시스템의 구조를 간단히 표현 가능

그러나 무분별한 상속은 오히려 유지보수를 어렵게 만들 수 있습니다. 상속을 사용할 때는 반드시 is-a 관계가 성립하는지 확인하고, 지나치게 깊은 상속 구조는 피해야 합니다.

예를 들어 자동차 → 전기차 → 자율주행전기차 → 스마트전기차… 와 같이 상속이 깊어지면 결국 하위 클래스가 상위 클래스의 모든 구조에 의존하게 되어 오히려 결합도가 높아지고 유연성이 떨어질 수 있습니다.

따라서 정보처리기사 시험을 준비하면서 상속은 개념만 이해하는 것이 아니라, 실제로 설계할 수 있을 정도의 감각으로 접근해야 하며, 실기에서도 UML 상속 관계 표현은 반드시 정리해두어야 할 필수 항목입니다.

4. 다형성(Polymorphism): 하나의 인터페이스, 다양한 동작

다형성의 개념과 정의

다형성(Polymorphism)은 객체지향 프로그래밍의 핵심 개념 중 하나로, 하나의 인터페이스(또는 메서드 이름)로 다양한 형태의 동작을 구현하는 것을 의미합니다. 즉, 동일한 메서드나 연산자 이름을 사용하더라도, 상황에 따라 다른 방식으로 실행되도록 하는 기능입니다.

다형성은 크게 컴파일 시간 다형성(정적 바인딩)실행 시간 다형성(동적 바인딩)으로 나뉘며, 정보처리기사 시험에서도 이 둘의 차이를 묻는 문제가 자주 출제됩니다.

  • 정적 바인딩 (Static Binding): 컴파일 시점에 어떤 메서드가 실행될지 결정 (예: 메서드 오버로딩)
  • 동적 바인딩 (Dynamic Binding): 실행 시점에 어떤 메서드가 실행될지 결정 (예: 메서드 오버라이딩)

예를 들어, 동물(Animal) 클래스를 상속받는 고양이(Cat)와 개(Dog) 클래스가 각각 cry() 메서드를 오버라이딩했다면, Animal 타입으로 선언된 참조 변수가 실제로 어떤 객체(Cat인지 Dog인지)를 가리키느냐에 따라 cry()의 동작이 달라집니다.

다형성의 구현 방식

다형성을 구현하는 대표적인 방법은 메서드 오버로딩(Overloading)메서드 오버라이딩(Overriding)입니다.

  • 오버로딩(Overloading): 같은 이름의 메서드를 매개변수의 개수, 타입 등으로 구분하여 여러 형태로 정의
  • 오버라이딩(Overriding): 상위 클래스의 메서드를 하위 클래스에서 재정의하여 동작을 변경

다음은 자바(Java)에서의 간단한 예시입니다:

class Animal {
    void speak() {
        System.out.println("동물이 소리를 냅니다.");
    }
}

class Dog extends Animal {
    void speak() {
        System.out.println("멍멍!");
    }
}

class Cat extends Animal {
    void speak() {
        System.out.println("야옹~");
    }
}
  

위 코드에서 Animal 타입의 참조 변수가 실제로 Dog 객체를 가리킨다면 "멍멍!"이 출력되며, Cat 객체를 가리킨다면 "야옹~"이 출력됩니다. 이것이 다형성이 실현되는 대표적인 사례입니다.

정보처리기사 시험에서 다형성이 출제되는 방식

다형성은 정보처리기사 필기 시험에서 개념 정의 문제는 물론, 코드 분석형 문제로도 자주 등장합니다. 다음과 같은 형태의 문제 유형을 볼 수 있습니다:

  • "다형성에 대한 설명으로 올바른 것을 고르시오."
  • "다형성을 구현하는 방식으로 적절하지 않은 것은?"
  • "오버라이딩에 해당하는 예제를 고르시오."
  • "다형성이 필요한 이유와 그 장점은?"

특히 자바, C++, 파이썬과 같은 객체지향 언어의 문법에 익숙하지 않은 수험생은 다형성을 ‘암기’가 아닌 ‘예시’로 접근해야 직관적인 이해가 가능합니다. 이를 위해 다양한 코드 예제를 직접 실행해보며 개념과 결과를 연결하는 연습이 매우 효과적입니다.

다형성의 장점과 실무 활용

다형성은 객체지향 설계를 더욱 유연하게 만들어주는 요소로, 다음과 같은 장점을 갖습니다:

  • 코드의 재사용성 증가 (동일한 메서드 이름으로 다양한 기능 구현 가능)
  • 유지보수성 향상 (새로운 기능 추가 시 기존 코드를 건드리지 않음)
  • 인터페이스 중심 설계 가능 (의존성 감소)
  • 테스트 용이성 증가 (인터페이스 기반 테스트)

예를 들어, 같은 인터페이스를 구현한 여러 클래스가 있을 때, 하나의 메서드를 호출하더라도 실제 동작은 클래스마다 달라질 수 있으므로, 코드 확장성테스트 유연성이 매우 높아집니다.

정보처리기사 자격시험뿐만 아니라, 실제 개발 환경에서 객체지향 원칙에 따라 유지보수가 가능한 코드를 작성하기 위해서는 다형성의 철학을 이해하고 실천하는 것이 무엇보다 중요합니다.

5. 정보은닉과 추상화: 객체지향의 숨겨진 축

정보은닉(Information Hiding)의 개념

정보은닉은 객체지향 설계 원칙 중 하나로, 객체 내부의 세부 구현을 외부에 감추고 꼭 필요한 정보만 노출하는 것을 의미합니다. 이는 앞서 다룬 캡슐화(encapsulation)의 핵심 목적이자, 객체 간 결합도를 낮추는 효과적인 전략이기도 합니다.

정보은닉은 사용자(개발자 포함)에게 불필요하거나 위험한 정보를 숨겨 안정성과 보안성을 확보합니다. 내부 데이터를 보호하고, 외부에서는 오직 정해진 인터페이스를 통해서만 접근할 수 있도록 제한함으로써 잘못된 데이터 변경, 시스템 오류, 예기치 않은 동작을 방지할 수 있습니다.

예를 들어, 은행 계좌 객체에서 계좌번호나 잔액 정보를 외부에서 직접 수정할 수 있다면 심각한 문제가 생깁니다. 따라서 계좌 클래스는 내부 필드를 private로 선언하고, getter/setter 혹은 validate된 메서드를 통해 접근하게 함으로써 정보은닉을 실현합니다.

정보은닉은 단순한 ‘숨기기’가 아니라, 객체가 스스로의 상태를 관리하고 보호할 수 있도록 하는 설계 기법입니다. 이는 모듈화(modularity)재사용성을 높이는 기반이 되며, 실무 코드와 정보처리기사 시험 모두에서 높은 비중으로 다뤄지는 개념입니다.

추상화(Abstraction)의 정의와 필요성

추상화(Abstraction)는 객체지향 프로그래밍의 또 다른 핵심 개념으로, 불필요한 세부사항은 제거하고, 본질적인 기능만 모델링하는 것입니다. 다시 말해, 프로그램을 설계할 때 사용자에게 필요한 핵심 동작만을 인터페이스로 제공하고, 내부 구현은 감추는 방식입니다.

예를 들어, 스마트폰의 전원 버튼을 누르면 켜지지만, 그 내부에서 어떤 회로가 작동하고 어떤 신호가 전달되는지는 사용자가 몰라도 됩니다. 사용자는 버튼을 누른다는 ‘행위’만 알면 되고, 나머지는 시스템 내부에서 처리됩니다. 이것이 바로 추상화의 개념입니다.

객체지향 언어에서는 추상화 구현을 위해 추상 클래스(abstract class)인터페이스(interface)를 활용합니다. 이 두 개념은 정보처리기사 시험에서도 자주 비교되어 출제됩니다.

  • 추상 클래스: 하나 이상의 추상 메서드를 포함하며, 공통된 속성이나 동작을 정의할 수 있음
  • 인터페이스: 동작(기능)만을 정의하며, 다중 상속이 가능함

예시를 들어 보자면, '동물'이라는 추상 클래스를 만들고 '걷다', '울다'라는 동작을 정의한 후, 각각의 구체적 동물 객체(고양이, 개)는 이 메서드를 구체적으로 구현(overriding)합니다. 이러한 방식으로, 추상화는 공통된 기능을 체계화하고, 객체 구조를 단순화시켜줍니다.

시험 출제 경향과 실전 활용

정보은닉과 추상화는 정보처리기사 필기 시험에서 다음과 같은 형태로 출제됩니다:

  • "정보은닉의 장점으로 알맞지 않은 것은?"
  • "다음 중 추상화를 실현할 수 있는 방법으로 옳은 것은?"
  • "인터페이스와 추상 클래스의 차이를 설명한 것으로 적절한 것은?"
  • "객체지향 설계 원칙 중 내부 정보를 감추고 인터페이스만 공개하는 것은?"

실기 영역에서도 UML에서의 인터페이스 표현, 추상 메서드 구현 방식 등을 묻는 문제들이 자주 등장합니다. 따라서 단순 개념 암기보다는 예시와 코드를 통해 기능을 실제로 이해하는 것이 중요합니다.

특히 정보은닉과 추상화는 객체지향 설계의 초석이 되는 개념으로, 잘 설계된 시스템일수록 이 두 원칙이 잘 반영되어 있다는 특징을 갖습니다. 시험뿐만 아니라 실제 개발에서도 이 원칙을 지키는 것이 좋은 개발자의 기본 조건이라 할 수 있습니다.

6. 정보처리기사 시험에서 객체지향이 출제되는 방식과 공부법

출제 경향 분석: 어디에서 어떻게 나오는가?

정보처리기사 시험에서 객체지향 개념은 단일 과목에만 국한되지 않고, 프로그래밍 언어, 시스템 분석 및 설계, 소프트웨어 공학 등의 여러 과목에 걸쳐 통합적으로 출제됩니다. 특히 최근에는 단순 정의를 묻는 문제를 넘어, 객체지향 설계 원칙을 적용한 시나리오 기반 문제가 자주 등장하는 추세입니다.

필기시험에서는 다음과 같은 방식으로 객체지향 개념이 출제됩니다:

  • 객체지향의 3대 특성(캡슐화, 상속, 다형성)에 대한 정의
  • 추상 클래스와 인터페이스의 차이점 비교
  • 객체지향 설계 시 실제로 사용되는 개념을 활용한 응용 문제
  • UML 다이어그램을 통한 관계 해석
  • 객체지향 언어의 대표 특징 및 언어별 특성 (예: Java, C++)

실기시험에서는 프로그램 흐름 분석, 클래스 설계 문제, 코드 해석 문제 등이 출제되며, 객체지향 개념을 단순 암기보다는 ‘적용 가능한 능력’으로 평가합니다. 따라서 실기에서는 클래스 구조, 상속 관계, 오버라이딩 방식 등을 실제로 코딩해볼 수 있어야 합니다.

효과적인 공부법: 단순 암기에서 실전 이해로

객체지향 개념을 공부할 때 많은 수험생이 ‘캡슐화=정보은닉’, ‘상속=재사용’, ‘다형성=다양한 구현’처럼 외우는 데 그치곤 합니다. 그러나 최근 시험은 정의 외에도 해당 개념을 활용한 문제 해결 능력을 요구하기 때문에, 단순 암기만으로는 고득점이 어렵습니다.

다음은 객체지향 파트를 효과적으로 공부할 수 있는 전략입니다:

  • 1. 개념 정의 + 예제 코드 병행 학습
    각 개념마다 직접 짧은 예제 코드를 작성해보며 개념이 실제 코드에서 어떻게 구현되는지 체득합니다.
  • 2. UML 클래스 다이어그램 분석 연습
    실기시험을 대비하여 상속, 인터페이스, 집합관계 등을 시각적으로 분석하는 능력을 키웁니다.
  • 3. 기출문제 유형별 분류 학습
    과거 5개년 이상 기출문제를 ‘정의형’, ‘응용형’, ‘비교형’으로 나눠서 반복 학습합니다.
  • 4. 다른 객체지향 언어 비교 학습
    Java, Python, C++ 등 여러 언어에서 객체지향이 어떻게 표현되는지를 비교하면 개념이 더 탄탄해집니다.
  • 5. 동영상 강의나 개발 블로그 참고
    객체지향 개념은 글보다 시각적 설명이 훨씬 이해에 도움이 됩니다. 영상이나 코드 해설 블로그를 병행하세요.

객체지향 개념 정리는 합격의 지름길

정보처리기사 시험에서 객체지향 개념은 최소 10~15문제 이상 직접/간접적으로 연결되어 있습니다. 따라서 이 개념을 제대로 이해하고 정리해두는 것이 필기시험의 핵심 전략이며, 실기시험에서도 안정적인 점수를 확보할 수 있는 기반이 됩니다.

특히 캡슐화, 상속, 다형성 외에도 추상화, 정보은닉, 인터페이스 등은 개별적으로도 자주 출제되며, 서로 연관된 문제로도 등장하므로 관계 중심 학습을 통해 문제를 빠르게 풀어낼 수 있는 구조적 사고를 갖춰야 합니다.

정보처리기사 자격증을 준비하면서 객체지향 개념이 어렵게 느껴질 수 있지만, 제대로 정리해두면 전체 커리큘럼이 유기적으로 연결되는 경험을 할 수 있습니다. 또한 실무에서 반드시 사용되는 개념이기 때문에, 단기 합격뿐 아니라 장기적인 실력 향상에도 큰 도움이 됩니다.

👉 지금까지 학습한 내용을 요약 노트로 정리해보는 시간을 가져보세요!

반응형