그림으로 배우는 자바, 객체지향!
    • 01
      Intro
    • 강의소개
    • 02
      객체지향 프로그래밍
    • 클래스와 객체?
      클래스 구현하기
      객체 생성과 필드값 변경
      또 다른 객체 만들기
      인스턴스 메소드 호출
      클래스 스코프
      메소드 스코프
      리뷰: 정사각형 클래스
    • 03
      생성자, 호출과 정의
    • 생성자란?
      생성자 호출로 객체 초기화
      String.format()
      생성자 정의하기
      사라진 디폴트 생성자
      객체 배열
      파라미터와 객체
      리뷰: 마린과 메딕
    • 04
      레퍼런스와 스태틱
    • 레퍼런스? 스태틱?
      한 주간 일한 시간
      양궁 국가대표 선발전
      객체 조합하기
      클래스 변수 vs 인스턴스 변수
      4가지 맛 붕어빵
      클래스 메소드 호출
      리뷰: 두 점 사이의 거리
    • 05
      접근 제한자와 게터/세터
    • 접근 제한자? 게터/세터?
      접근 제한자가 없다면
      private, 외부로부터 감추기
      게터, 감춰진 필드 가져오기
      세터, 감춰진 필드 변경하기
      메소드 스코프(2)
      스코프와 this
      리뷰: 게터와 세터 그리고 this
    • 06
      자바 API
    • 자바 API란?
      Random, API 가져오기
      주사위 통계
      ArrayList, 기본 사용법
      ArrayList, 데이터 가져오기
      ArrayList, 요소 변경
      라면의 총합
      리뷰: 로또 번호 생성
    • 07
      상속, 클래스의 확장
    • 상속이란?
      클래스 확장하기
      중복 제거하기
      업 캐스팅
      메소드 오버라이딩
      protected 접근 제한자
      super, 상속과 생성자
      리뷰: 클래스 연속 확장
    • 08
      인터페이스
    • 인터페이스란?
      인터페이스 정의 및 구현(1)
      인터페이스 정의 및 구현(2)
      인터페이스와 다형성
      다형성 인생
      인터페이스와 업 캐스팅
      인터페이스와 ArrayList
      리뷰: 인터페이스
    • 09
      마치며..!
    • 강의를 마치며
    클래스와 객체?
    02 객체지향 프로그래밍
    클래스와 객체?

    클래스와 객체

    들어가며..


    우리는 이전 파트에서 자바의 기본 문법에 대해 알아보았다.
    클라우드스터딩-자바-기본-문법-파트-요약

    이번 파트에서는 데이터와 처리를 하나로 묶는 법! 객체지향 프로그래밍을 학습해보자.

    1. 객체 지향 프로그래밍
    2. 클래스와 객체
    3. 클래스 설계 및 구현

    1. 객체 지향 프로그래밍


    무엇?

    객체지향 프로그래밍(Object-Oriented Programming)이란, 조립식 프로그래밍이다. 객체를 조립하여 전체 프로그램을 만드는 것이다.
    클라우드스터딩-자바-객체-지향-프로그래밍-OOP-자전거-예

    장점?

    조립식으로 프로그램을 만들면 좋다. 고장이 나도 해당 부분만 수리하면 된다. 또 기능을 추가할 때, 만들어서 끼워 넣으면 된다.
    클라우드스터딩-자바-객체지향-이점-장점-강점

    안 쓸 이유가 없다. 무조건 OOP로 프로그램을 만드는 게 답이다.

    2. 클래스와 객체


    객체는 어떻게 만드나?

    프로그램이 객체들의 조합으로 만들어짐을 배웠다. 그럼 객체는 뭘로 만들까? 정답은 클래스이다.
    클라우드스터딩-자바-객체를-만드는-방법

    클래스와 객체의 구분(차이)

    클래스란, 객체를 만들기 위한 설계도이다. 해당 설계도를 통해 만들어진 무언가! 이를 객체 또 다른 표현으로 인스턴스(instance)라 한다.
    클라우드스터딩-자바-클래스와-객체-OOP

    프로그램을 만들려면 여러 객체가 필요하다. 여러 객체를 만들려면, 객체별 클래스가 필요하다. 결과적으로, 프로그램을 만들기 위해서는 클래스를 잘 만들어야 한다.

    3. 클래스 설계 및 구현


    구조?

    클래스를 잘 만들려면 그 구조를 알아야 한다. 클래스는 두 영역으로 나뉜다. 상태를 정의하는 필드(fields)와 동작을 정의하는 메소드(methods)이다.
    클라우드스터딩-자바-클래스-구조-필드-메소드

    설계 예

    고양이를 클래스로 설계해보자. 아래와 같이 클래스를 도식화 한것을 클래스 다이어그램(class diagram)이라 한다.
    클라우드스터딩-자바-클래스-설계-예-고양이

    구현 예

    이제 이를 코드로 구현해야 한다. 왜? 그래야 객체를 만들 수 있다.
    클라우드스터딩-자바-고양이-클래스-구현-코드

    요약


    클라우드스터딩-자바-클래스와-객체-요약

    객체 지향 프로그래밍

    • OOP라고 한다. 프로그램을 객체의 조립으로 만드는 방식이다.
    • OOP는 프로그램의 관리/재사용/확장에 좋다.

    클래스 vs 객체

    • 클래스는 객체를 만들기 위한 설계도이다.
    • 객체의 또 다른 표현으로는 인스턴스(instance)가 있다.
    • 때문에 클래스로 객체를 만드는 것을 “인스턴스화”라고 한다.

    클래스 설계 및 구현

    • 클래스는 필드(상태)와 메소드(동작)로 구성된다.
    • 클래스를 도식화한 것을 “클래스 다이어그램”이라 한다.
    • 클래스 다이어그램 보고 코드를 작성할 줄 알아야 한다.
    질문하기