14일차

고규빈·2022년 1월 5일
0
post-thumbnail

객체지향언어의 특징

▶ 캡슐화

  • 필요한 데이터와 기능을 하나로 묶거나, 묶은 기능을 외부로 노출하지 않는 것을 의미

▶ 추상화

  • 공통적인 특징을 추상적인 개념으로 뽑아내는 것을 의미

▶ 상속

  • 상위개념의 특징을 하위 개념이 물려받는 것을 의미

▶ 다형성

  • 다양한 형태로 나타낼 수 있는 것을 의미

객체지향언어 개발 방법

▶ 클래스의 부품화
예) 자동차를 구성할 때

  • 자동차 클래스

    속성 : brand, model, productionYear 등
    기능 : 자동차 시동을 건다, 엑셀을 밟는다, 브레이크를 밟는다 등

  • 타이어 클래스
  • 핸들 클래스
    ...

클래스의 구성요소 – 변수, 생성자, 메소드

변수

  • 객체의 데이터가 저장되는 곳

생성자

  • 객체 생성 시 초기화 역할 담당

메소드

  • 객체의 동작에 해당하는 실행 블록

메소드 (기능) - return문

  • 리턴 타입은 기본형, 참조형이 올 수 있다.
  • 현재 실행 중인 메소드를 종료하고 반환값을 가지고 호출한 메소드로
    되돌아간다.

메소드(기능) – 사용(호출)

▶ 메소드의 호출방법
참조변수.메소드 이름(); // 메소드에 선언된 매개변수가 없는 경우
참조변수.메소드 이름(값1, 값2, … ); // 메소드에 선언된 매개변수가 있는 경우

생성자

  • 리턴 값이 없다.
  • 한번만 실행할 수 있다. 두가지를 제외하고 메소드와 동일하다.

생성자 - 구조

▶ 생성자 조건

  • 생성자의 이름은 클래스의 이름과 같아야 한다.
  • 생성자는 리턴값이 없다. (하지만 void를 쓰지 않는다.)

생성자 – 기본생성자 사용

※ 모든 클래스에는 반드시 하나이상의 생성자가 있어야 한다.

생성자에서 다른 생성자 호출하기 – this()

  • 다른 생성자 호출은 생성자의 첫 문장에서만 가능
  • 같은 클래스의 다른생성자를 호출할 때 사용

메소드 오버로딩(method overloading)이란?

“하나의 클래스에 같은 이름의 메소드를 여러 개 정의하는 것을 메소

드 오버로딩, 간단히 오버로딩이라고 한다.”

오버로딩의 조건

  • 메소드의 이름이 같아야 한다.
  • 매개변수의 개수 또는 타입이 달라야 한다.
  • 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다.
    (리턴타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다.)
profile
안녕하세요

0개의 댓글