객체지향(Object-Oriented) (1과목)

정보처리기사 준비

목록 보기
23/57

객체지향의 개요

  • 주요 구성 요소
    • 객체(Object)
    • 클래스(Class)
  • 주요 개념
    • 캡슐화(Encapsulation)
    • 상속(Inheritance)
    • 다형성(Polymorphism)
    • 연관성(Realtionship)

객체(Object)

  • 독립적으로 식별 가능한 이름을 가지고 있다.
  • 데이터와 데이터를 처리하는 함수를 묶어 놓은 하나의 소프트웨어 모듈
  • 객체는 일정한 기억장소를 가지고 있다.
  • 객체는 다른 객체로부터 메시지를 받았을 때 정해진 기능을 수행한다.

클래스(Class)

  • 공통된 속성과 연산을 갖는 객체의 집합
  • 속성과 연산을 정의하고 있는 틀
  • 흔히 붕어빵 틀로 많이 비유된다.

캡슐화(Encapsulation)

  • 개발자는 객체가 가진 캡슐화라는 특성으로 인해 데이터를 개발자와 클라이언트에게 각각 보여주고 싶은 만큼 보여줄 수 있다.
  • 자바에선 접근 제어자(Public, Protected, default, private)로 인해 해당 수행이 가능해진다.

상속(Inheritance)

  • 데이터를 확장하는 방식이다.
  • 부모 클래스에서 자식 클래스로 모든 속성과 하위 연산을 물려주는 형식
  • 다중 상속 : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속받는다.

다형성(Polymorphism)

  • 상속 받은 메서드가 다양한 형태를 띄지만 정해진 규칙 내에서만 다양한 형태를 띌 수 있다.
  • 부모가 String 형태로 return되는 함수가 있다면 자식1은 String 형태를 준수하면서 'A'를 return하고 자식2는 String 형태를 준수하면서 'B'로 정의할 수 있다는 것이다.

연관성(Relationship)

  • 두 개 이상의 객체(클래스)들이 상호 참조하는 관계
  • 연관화, 분류화, 집단화, 일반화, 특수화/상세화 가 있다.
  • is member of
    • 연관화 : 두 개 이상의 객체가 상호 관련있음.
  • is instance of
    • 분류화 : 동일한 형의 특성을 갖는 객체들을 모아 구성
  • is part of
    • 집단화 : 관련있는 객체들을 묶어 하나의 상위 객체를 구성
  • is a
    • 일반화 : 공통적인 성질들로 추상화 한 상위 객체를 구성
    • 특수화/상세화 : 상위 객체를 구체화하여 하위 객체를 구성

profile
비전공자 개발초보입니다!

0개의 댓글