Sury 2025. 5. 6. 22:11
1과목. 소프트웨어 설계 > 3장. 애플리케이션 설계 > 객체 지향 : 객체 지향 방법론, 객체 지향 방법론의 종류, 객체 지향 분석 모델링, 객체 지향 설계 원칙(SOLID), 객체 지향의 구성 요소, 다형성 : 오버로딩(Overloading), 오버라이딩(Overriding), 인터페이스 분리의 원칙(ISP)
  • 객체지향
    • 객체지향의 개념
      • 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어 기계적인 부품들을 조립하여 제품을 만들 듯 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있는 기법 
      • 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택되어 사용하고 있음
    • 객체지향의 특징
      • 소프트웨어 재사용 및 확장이 용이하여 고품질의 소프트웨어를 빠르게 개발, 유지보수의 용이
      • 복잡한 구조를 단계적, 계층적으로 표현, 멀티미디어 데이터 및 병렬 처리를 지원
      • 현실 체계를 모형화하므로 사용자와 개발자가 쉽게 이해할 수 있음
      • 대규모 소프트웨어 개발에 많이 사용
    • 객체지향의 장점
      • 프로그램을 유연하고 변경이 용이하게 만듦
      • 프로그래밍을 더 배우기 쉽게하고 소프트웨어 개발과 보수를 간편하게 함
      • 직관적인 분석이 가능 
    • 객체지향의 구성요소
      • 객체(Object)
        • 객체의 개념
          • 데이터(속성)과 함수(메소드)를 묶어놓은 캡슐화한 하나의 소프트웨어 모듈 
          • 클래스의 인스턴스, 자신 고유의 데이터를 가짐 
            •  인스턴스
              • 인스턴스 : 클래스에 속한 각각의 객체
              • 인스턴스화 : 클래스로부터 새로운 객체를 생성하는 것
              • 인스턴스의 역할 : 동일 클래스에 속한 각각의 인스턴스들은 공통된 속성과 행위를 가지고 있으면서, 그 속성에 대한 정보가 서로 달라서 동일 기능을 하는 여러 가지 객체를 나타내게 됨 
        • 객체의 특징
          • 독립적으로 식별 가능한 이름을 가지고 있음
          • 상태 : 객체가 가질 수 있는 조건, 시간에 따라 변함
          • 객체와 객체는 상호 연관성에 의한 관계가 형ㅌ성
          • 객체가 반응할 수 있는 메시지의 집합을 행위라고 하며, 객체는 행위의 특징을 나타냄
          • 객체는 일정한 기억장소를 가지고 있음 
          • 객체의 메소드는 다른 객체로부터 메시지를 받았을 때 정해진 기능을 수행 
      • 클래스(Class)
        • 클래스의 개념
          • 공통된 속성과 연산(행위)을 갖는 객체의 집합
          • 공통된 특성과 연산을 갖는 객체의 집합, 같은 종류의 집단에 속하는 속성과 행위를 정의한 것 
        • 클래스의 특징
          • 객체의 일반적인 타입
          • 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀
          • 객체지향 프로그램에서 데이터를 추상화하는 단위 
        • 클래스의 종류
          • 최상위 클래스 : 상위 클래스를 갖지 않는 클래스
          • 슈퍼 클래스 : 특정 클래스의 상위(부모) 클래스
          • 서브 클래스 : 특정 클래스의 하위(자식) 클래스 
      • 메서드(Method)
        • 객체가 수행하는 기능
        • 객체가 갖는 데이터(속성,상태)를 처리하는 알고리즘
      • 메시지 (Message)
        • 객체들 간 상호작용을 하는데 사용되는 수단
        • 객체에게 행위 지시를 하는 명령으로 객체 간의 통신을 말함
    • 객체지향의 특성
      • 캡슐화(Encapsulation)
        • 캡슐화의 개념
          • 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것을 의미 
        • 캡슐화의 특징
          • 객체들 간의 메시지를 주고 받을 때 상대 객체의 세부 내용은 알 필요가 없으므로 인터페이스가 단순해지고, 객체 간의 결합도가 낮아짐 (종속성 최소화) 
          • 인터페이스를 제외한 세부 내용이 은폐(정보 은닉)되어 외부에서의 접근이 제한적이기 때문에 외부 모듈의 변경으로 인한 파급 효과가 적음
          • 재사용이 용이해짐
          • Readability 향상으로 유지보수 용이 
      • 추상화(Abstraction)
        • 공통 성질 추출, 슈퍼클래스로 구성
        • 객체 중심의 안정된 모델 구축
        • 현실 세계를 자연스럽게 표현
        • 분석의 초점 명확화 
      • 정보은닉(Information Hiding)
        • 캡슐화된 항목을 다른 객체로부터 숨김
        • 메시지 전달에 의해 다른 클래스 내의 메서드가 호출 
      •  상속성(Inheritance)
        • 상속의 개념
          • 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스(자식 클래스)가 물려 받음 
        • 상속의 특징
          • 상위 클래스 : 속성과 연산을 하위 클래스가 사용할 수 있기 때문에 객체와 클래스의 재사용, 소프트웨어의 재사용을 높이는 중요한 개념
          • 하위 클래스 : 상위 클래스의 모든 속성과 연산을 자신의 클래스 내에서 다시 정의하지 않고서도 즉시 자신의 속성으로 사용할 수 있음, 상위 클래스로부터 상속받은 속성과 연산 외에 새로운 속성과 연산을 첨가하여 사용할 수 있음
        • 다중 상속(Multiple Inheritance)
          • 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속받는 것
          • 클래스의 계층을 복잡하게 만들어 상속 순서 추적이 어렵고, 상위 클래스의 변경이 하위 클래스에 의도하지 않은 영향을 미칠 수도 있음 
      • 다형성(Polymorphism)
        • 다형성의 개념
          • 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법(특성)으로 응답할 수 있는 능력 
        • 다형성의 특징
          • 객체들은 동일한 메소드명을 사용하며 같은 의미의 응답을 함
          • 응용 프로그램 상에서 하나의 함수나 연산자가 두 개 이상의 서로 다른 클래스의 인스턴스들을 같은 클래스에 속한 인스턴스처럼 수행할 수 있도록 하는 것 
        • 다형성의 실현 방법
          • 오버로딩(Overloading) : 메소드의 이름은 같지만 인수를 받는 자료형과 개수를 달리하여 여러 기능을 정의할 수 있음
          • 오버라이딩(Overriding) : 메소드 재정의, 상위 클래스에서 정의한 메소드와 이름은 같지만 메소드 안의 실행 코드를 달리하여 자식 클래스에서 재정의해서 사용할 수 있음 

            구분 오버라이딩 오버로딩
            개념 상속관계에서 상위 클래스의 메소드를 하위 클래스 재정의 하나의 클래스 내에서 같은 이름으로 여러 개의 메소드를 정의(다중정의)
            메소드명 상속관계 내 동일 특정클래스 내 동일
            매개변수
            개수, 타입
            반드시 동일 개수 또는 타입이 다름
            리턴 타입 기본적으로 동일 상관없음
            상속  반드시 상속 관계 불필요
            목적 위 클래스의 메소드를 재정의하여 새로운 기능으로 재작성 의미적으로 동일한 함수를 직관적인 이름으로 사용
            조건 같은 이름, 파라미터 개수, 파라미터 자료형
            동일한 리턴값 
            같은 이름
            다른 파라미터 개수/다른 파라미터 자료형
            바인딩 정적 바인딩
            컴파일 시간에 결정 
            동적 바인딩
            실행 시간에 결정
            클래스
            다이어그램
            Fox 클래스는 Animal의 클래스를 상속받아, Bark 메소드의 파라미터 개수, 데이터형, 리턴형이 같게 정의


            같은 Dog 클래스 내에서 동일한 이름의 Bark 메소드를 두 개 만들고 메개변수를 다르게 정의




            구현코드 public class Animal {
            public void Bark() { }
            }
            public class Fox extends Animal {
            public void Bark() { }
            }
            public class Dog extends Animal {
            public void Bark() { }
            public void Bark(int volume) {
            /* 소리조절 */
            }
            }
      • 연관성(Relationship)
        • 연관성의 개념
          • 두 개 이상의 객체들이 상호 참조하는 관계 
        • 연관성의 종류 
          • is member of
            • 연관화(Association) : 2개 이상의 객체가 상호 관련되어 있음을 의미
          • is instance of
            • 분류화(Classtication) : 동일한 형의 특성을 갖는 객체들을 모아 구성하는 것 
          • is part of
            • 집단화(Aggregation) : 관련 있는 객체들을 묶어 하나의 상위 객체를 구성하는 것 
          • is a
            • 일반화(Generalization) : 공통적인 성질들로 추상화한 상위 객체를 구성하는 것 
            • 특수화/상세화(Specialzation) : 상위 객체를 구체화하여 하위 객체를 구성하는 것 
  • 객체지향 분석
    • 객체지향 분석의 개념
      • 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 연관된 속성과 연산, 그들 간의 관계 등을 정의하여 모델링하는 작업
    • 객체지향 분석의 특징 
      • 소프트웨어 개발을 위한 비즈니스를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어 분석
      • 분석가에게 중요한 모델링 구성 요소(클래스, 객체, 속성, 연산)를 표현해서 문제를 모형화할 수 있게 해줌
      • 객체는 클래스로부터 인스턴스화되고, 이 클래스를 식별하는 것이 객체지향 분석의 주요한 목적 
      • 모형화 전후 단계에서 객체의 분류, 속성들의 상속, 메시지의 통신, 연산 등을 결합
      • 목적 : 클래스 식별 
    • 객체지향 분석의 방법론 
      • Rumbaugh :
        • Rumbaugh 방법론의 기법
          • 가장 일반적으로 사용되는 방법
          • 객체 모델링 기법 : 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법
          • 시스템 개발의 전 단계가 일관된 객체지향 개념이 적용됨 
          • 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행하는 방법 
        • Rumbaugh 방법론의 분석 활동 : 객체 모델링 > 동적 모델링 > 기능 모델링
          • 객체 모델링(Object Modeling) : 정보 모델링, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램(객체-객체)으로 표시하는 것 
          • 동적 모델링(Dynamic Modeling) : 상태 다이어그램(상태도, 객체의 상태를 시간의 흐름에 따라 표기)을 이용하여 동적인 행위를 표현하는 모델링  
          • 기능 모델링(Functional Modeling) : 자료 흐름도를 이용하여 다수 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링 
        • Rumbaugh 방법론의 설계 순서 : 입출력 결정 > 자료 흐름도 작성 > 기능 내용 상세히 기술 > 제약사항 결정 및 최소화 
      • Booch : 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의 , 각 작업에 대한 다이어그램, 클래스 계층 정의, 클래스들의 클러스터링 작업 수행 
      • Jacobson : UseCase(사용 사례)를 강조하여 사용하는 분석방법
      • Coad&Yourdon : E-R 다이어그램을 사용하여 객체의 행위 모델링, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 등의 과정으로 구성하는 기법 
      • Wirls-Brock : 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법 
  • 객체지향 설계원칙(SOLID 원칙) : 시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야할 다섯가지 원칙  
    • 단일 책임 원칙(SRP)
      • 객체는 단 하나의 책임만 가져야 함 
      • 주어진 작업을 다른 객체가 아닌 자신만이 수행할 수 있어야 함
      • 응집도는 높고, 결합도는 낮게 설계
    • 개방 폐쇄 원칙(OCP)
      • 기존의 코드는 변경하지 않고 기능을 추가할 수 있도록 설계
      • 공통 인터페이스를 하나의 인터페이스로 묶어 캡슐화하는 방법이 대표적
      • 클래스를 변경하지 않고도 둘러싼 환경을 바꿀 수 있도록 설계해야 한다는 원칙 
    • 리스코프 치환 원칙(LSP)
      • 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 함
      • 자식 클래스는 부모 클래스의 책임을 무시하거나 재정의하지 않고 확장만 수행하도록 해야 함 
      • 부모 클래스와 자식 클래스 사이의 행위가 일관성이 있어야 함
    • 인터페이스 분리 원칙(ISP)
      • 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 함 
      • 단일 책임 원칙이 객체가 갖는 하나의 책임이라면, 인터페이스 분리 원칙은 인터페이스가 갖는 하나의 책임 
    • 의존 역전 원칙(DIP)
      • 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙
      • 일반적으로 인터페이스를 활용하면 이 원칙은 준수됨 

 

 

 

800제-2번. 객체지향 프로그램에서 데이터를 추상화하는 단위는?

① 메서드
② 클래스
③ 상속성
④ 메시지 

 

정답 : 2  

 

 

800제-4번. 객체지향 분석 방법론 중 E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체식별, 구조식별, 주체정의, 속성 및 관계정의, 서비스 정의 등의 과정으로 구성되는 것은?

① Coad와 Yourdon 방법
② Booch 방법
③ Jacobson 방법
④ Wirfs-Brocks 방법 

 

정답 : 1 

 

 

800제-14번. 럼바우(Rumbaugh)의 객체 지향 분석 절차를 가장 바르게 나열한 것은?

① 객체 모형 > 동적 모형 > 기능 모형
② 객체 모형 > 기능 모형 > 동적 모형
③ 기능 모형 > 동적 모형 > 객체 모형
④ 기능 모형 > 객체 모형 > 동적 모형 

 

정답 : 1

 

 

800제-103번. 럼바우 객체지향 분석과 거리가 먼 것은?

① 기능 모델링
② 동적 모델링
③ 객체 모델링
④ 정적 모델링 

 

정답 :4 

 

 

800제-113번. 객체지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?

① 트랜지션
② 클래스
③ 시퀀스
④ 서브루틴 

 

정답 : 2

 

 

800제-117번. 객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반 타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?

① ISP(Interface Segregation Principle)
② DIP(Dependency Inversion Principle)
③ LSP(Liskov Substitution Principle)
④ SRP(Single Responsibility Principle)

 

정답 : 3

 

 

800제-207번. 다음 내용이 설명하는 객체지향 설계 원칙은? 

<설명>
- 클라이언트는 자신이 사용하지 않는 메서드와 의존 관계를 맺으면 안된다.
- 클라리언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.

① 인터페이스 분리 원칙
② 단일 책임 원칙
③ 개방 폐쇄의 원칙
④ 리스코프 교체의 원칙 

 

정답 : 1 

 

 

800제-307번. 객체지향 분석 방법론 중 Coad-Yourdon 방법에 해당하는 것은?

① E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는데 초점을 둔 방법이다.
② 객체, 동적, 기능 모델로 나누어 수행하는 방법이다.
③ 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.
④ Use Case를 강조하여 사용하는 방법이다. 

 

정답 : 1

 

 

800제-404번. 객체지향 기법에서 같은 클래스에 속한 각각의 객체를 의미하는 것은?

① instance
② message
③ method
④ module 

 

정답 : 1

 

 

800제-405번. 객체지향 설계에서 객체가 가지고 있는 속성과 오퍼레이션의 일부를 감추어서 객체의 외부에서는 접근이 불가능하게 하는 개념은?

① 조직화(Organizing) 
② 캡슐화(Encapsulation)
③ 정보은닉(Infomation Hiding)
④ 구조화(Structuralization)

 

정답 : 3 

 

 

800제-515번. 럼바우(Rumbaugh)의 객체지향 분석 기법 중 자료 흐름도(DFD)를 주로 이용하는 것은?

① 기능 모델링
② 동적 모델링
③ 객체 모델링
④ 정적 모델링

 

정답 : 1

 

 

800제-607번. 객체지향 분석에서 기능 모델링에 대한 설명으로 가장 옳지 않은 것은?

① 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한다.
② 시스템에 요구되는 객체들의 구조와 관계가 정립된다.
③ 동적 모델링에서 나타난 동작들이 어떠한 기능으로 이루어져 있는지 나타낸다.
④ 자료 흐름도(DFD)를 주로 이용한다. 

 

정답 : 2

 

 

800제-616번. 럼바우(Rumbaugh)의 객체지향 분석 방법에 대한 설명이 가장 부적절한 것은?

① 객체모델링, 동적모델링, 기능모델링 순으로 수행하는 방법이다.
② 기능 모델링 단계에서는 상태 다이어그램, ERD 등 그래픽 표기법을 활용한다.
③ 객체 모델링 단계에서는 클래스의 속성과 연산을 함께 표현하여 시스템의 정적 구조를 생성한다.
④ 동적 모델링 단계에서는 시간의 흐름에 따른 객체들 사이의 제어 흐름, 상호작용, 동작 순서 등의 동적인 행위를 표현한다. 

 

정답 : 2

 

 

800제-714번. 클래스 설계 원칙에 대한 설명으로 옳은 것은?

① 인터페이스 분리(Interface Segregation) 원칙 : 추상 클래스나 인터페이스에 의존하지 않고 자주 변경되는 클래스에 의존해야 한다.
② 개방-폐쇄(Open-Closed) 원칙 : 클래스는 확장(extension)에 대해서는 열려 있어야 하며 변경(change)에 대해서 닫혀 있어야 한다.
③ 리스코프 교체(Linskov Substitution) 원칙 : 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
④ 의존 관계 역전(Dependency Inversion) 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존 관계를 갖지 않도록 해야 한다. 

 

정답 :2 

 

 

1000제-33번. 다음 보기가 설명하는 객체지향의 특징을 보기에서 고르시오.

<설명>
- 오퍼레이션을 다른 사양으로 정의 가능
- 매개변수의 수 또는 타입을 달리하여 구분
- 부모 클래스의 메서드를 재정의

① 캡슐화(Encapsulation) 
② 다형성(Polymorphism)
③ 추상화(Abstaraction)
④ 상속성(Inheritance)

 

정답 : 2

 

 

1000제-34번. 객체지향 분석에 대한 설명으로 가장 옳지 않은 것은?

① 분석가에게 주요한 모델링 구성요소인 클래스, 객체, 속성, 연산들을 표현해서 문제를 모형화시킬 수 있게 해준다.
② 객체지향관점은 모형화 표기법의 전후 관계에서 객체의 분류, 속성들의 상속, 그리고 메시지의 통신 등을 결합한 것이다.
③ 객체는 클래스로부터 인스턴스화 되고, 이 클래스를 식별하는 것이 객체지향분석의 주요한 목적이다.
④ E-R 다이어그램은 객체지향분석의 표기법으로는 적합하지 않다. 

 

정답 : 4

 

 

1000제-35번. 객체지향 분석 방법론 중 E-R 다이어그램을 사용하여 객체의 행위를 모델링하는 것은?

① Coad와 Yourdon 방법
② Booch 방법
③ Rumbaugh 방법
④ Wirfs-Brock 방법

 

정답 : 1

 

 

1000제-36번. 럼바우의 객체 지향 분석에서 분석 활동의 모델링과 가장 관계 없는 것은? 

① 객체(object) 모델링
② 절차(procedure) 모델링
③ 동적(dynamic) 모델링
④ 기능(functional) 모델링

 

정답 : 2

 

 

1000제-96번. 다음 보기에서 설명하는 개념에 해당하는 것은?

<보기>
- 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리를 용이하게 하여 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화하는 기법이다.
- 응집도는 내부의 구성 요소 간 관계의 밀접 정도로 평가되며, 응집도가 높을수록 필요한 요소들로 구성되어 지고 낮을수록 요소들 간의 관련성이 적은 요소들로 구성되어 진다. 

① 캡슐화
② 다형성
③ 상속성
④ 모듈화

 

정답 : 4

 

 

1000제-105번. 다음 중 객체지향(Object Orient)에 대한 설명으로 옳지 않은 것은?

① 객체지향(Object Orient)은 실세계의 객체(Object)를 속성(Attribute)와 메서드(Method)가 결합된 형태의 개체(Entity)로 표현하는 개념이다.
객체지향(Object Orient)은 구현대상을 하나의 객체로 보고 객체와 객체들 간의 관계로 모델링하는 방법을 의미한다.
③ 객체지향프로그램(Object Oriented Programming)은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 객체(Objerct)들의 모임으로 파악하고자 하는 것이다.
객체지향프로그램(Object Oriented Programming)은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 

 

정답 : 1

 

 

1000제-107번. 다음 중 객체지향(Object Orient)의 기법에 대한 설명으로 옳지 않은 것은?

① 캡슐화(Encapsulation)는 동일한 이름의 여러 오퍼레이션(메서드)을 다른 사양으로 정의 가능하다.
② 추상화(Abstraction)는 공통의 성질을 추출하여 슈퍼클래스를 구성한다.
③ 정보은닉(Information Hiding)은 캡슐화된 항목을 다른 객체(Object)로부터 숨긴다.
④ 상속(Inheritance)은 부모 클래스의 속성과 메서드를 상속받아 사용한다. 

 

정답 : 1

 

 

1000제-109번. 다음 중 객체지향의 설계인 다형성에 대해 프로그래밍 언어로 예시한 것이다. 다형성의 어떤 기법이 사용된 것인가?

① 오버라이딩
② 오버로딩
③ 단일책임 원칙
④ 개방폐쇄 원칙 

 

정답 : 2

 

 

1000제-153번. 다음 클래스 다이어그램 및 구현코드와 관련된 객체지향 설계기법으로 가장 적합한 것은?

① 오버라이딩(Overriding) 
② 오버로딩(Overloading)
③ 일반화(Generalization)
④ 추상화(Abstraction)

 

정답 :2 

 

 

1000제-204번. 다음 중 객체지향의 특성과 가장 거리가 먼 것은? 

① Encapsulation
② Redundancy
③ Inheritance
④ Polymorphism 

 

정답 : 2

Redundancy : 중복성

 

 

1000제-205번. 객체들 간에 메시지를 주고받을 때 각 객체의 세부내용은 알 필요가 없으므로 인터페이스가 단순해지고 데이터와 데이터를 처리하는 함수를 하나로 묶는 것을 의미하는 것은?

① abstraction
② class
③ encapsulation
④ integration 

 

정답 : 3

 

 

1000제-208번. 객체지향 기법에서 다음 설명에 해당하는 것으로 가장 옳은 것은?

<설명>
- 실체에서 공통되는 속성이나, 관심 있는 부분만 추출하여 모델링하는 개념
- 공통 성질을 추출하여 슈퍼 클래스로 설정 

① 추상화
② 상속
③ 캡슐화
④ 다형성

 

정답 :1 

 

 

1000제-210번. 객체지향 프로그래밍의 특징 중 상속 관계에서 상위 클래스에 정의된 메소드(method) 호출에 대해 각 하위 클래스가 가지고 있는 고유한 방법으로 응답할 수 있도록 유연성을 제공하는 것은?

① 재사용성(reusability)
② 추상화(abstraction)
③ 다형성(polymorphism)
④ 캡슐화(encapsulation)

 

정답 : 3

 

 

1000제-211번. 객체지향의 다형성 기법 중 메소드 오버로딩에 대한 설명과 가장 거리가 먼 것은?

① 메소드 이름이 같아야 한다.
② 메소드 파라미터의 타입이 달라야 한다.
③ 메소드 파라미터의 개수가 달라야 한다.
④ 상속 관계의 클래스에서만 사용할 수 있다. 

 

정답 : 4

 

 

1000제-215번. 다음 클래스 다이어그램을 보고 빈칸에 가장 적합한 단어를 선택하라

① 캡슐화
② 오버로딩
③ 추상화
④ 오버라이딩 

 

정답 : 4

 

 

1000제-807번. 객체지향 분석에서 기능 모델링에 대한 설명으로 가장 옳지 않은 것은?

① 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한다.
② 시스템에 요구되는 객체들의 구조와 관계가 정립된다.
③ 동적 모델링에서 나타난 동작들이 어떠한 기능으로 이루어져 있는지 나타낸다.
④ 자료 흐름도(DFD)를 주로 이용한다. 

 

정답 : 2

 

 

1000제-816번. 럼바우(Rumbaugh)의 객체지향 분석 방법에 대한 설명이 가장 부적절한 것은?

① 객체모델링, 동적 모델링, 기능 모델링 순으로 수행하는 방법이다.
② 기능 모델링 단계에서는 상태 다이어그램, ERD 등 그래픽 표기법을 활용한다.
③ 객체 모델링 단계에서는 클래스의 속성과 연산을 함께 표현하여 시스템의 정적 구조를 생성한다.
④ 동적 모델링 단계에서는 시간의 흐름에 따른 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현한다. 

 

정답 : 2

 

 

1000제-920번. 다음 클래스 다이어그램에서 적용되지 않은 객체지향의 개념은?

① 일반화(generalization)
② 상속(inheritance)
③ 다형성(polymorphism)
④ 합성(composition)

 

정답 : 4