과일 바구니에 객체지향을 담아보자

MongCheol·2023년 2월 15일
0

부트캠프

목록 보기
11/15
post-thumbnail

어쩌다보니 객체지향 설명회를 열어서 스터디원분들에게 발표하는 시간을 갖게 되었다.
아래는 객체지향 설명을 위한 미니 프로젝트 요구사항이다.
요구사항이라고 적어놨지만 뭘 어떻게 만들라는건지 알수없게 적어놔서 죄송..ㅠㅠ
프로젝트를 만들면서 객체지향이 적용 안된 코드의 불편점들을 느끼고
객체지향을 적용한 코드의 이점을 느낄수 있도록 설명을 진행했었다.
해설은 다음 글에서!

과일 바구니 Project

효과적인 객체지향 프로그래밍 학습을 위해 직접 프로젝트를 만들어 보자.

목표


  • 직접 코드를 작성하면서 객체지향 프로그래밍의
    • 추상화(Abstraction)

    • 상속(Inheritance)

    • 캡슐화(Encapsulation)

    • 다형성(Polymorphism)

      을 음미해보자!

데이터


이름색깔가격
사과빨강1000
망고노랑2000
포도보라1500

기능 요구 사항


  1. 과일 바구니에 담긴 항목들의 이름을 출력해주는 기능
  2. 과일 바구니에 담긴 항목들의 가격의 총합을 출력해주는 기능

학습을 위한 코드 구현 방향


  • 과일들의 공통점을 찾아서 추상화하여 상위 클래스를 만들자
  • 각 과일 클래스들은 추상화한 상위 클래스를 상속받자
  • 각 클래스의 변수들과 함수들을 외부에서 잘못된 접근을 할 수 없도록 캡슐화하자
  • 과일 바구니에 과일들을 담을 때 다형성을 이용해서 과일들의 상위 클래스 타입의 ArrayList으로 담자
  • 각 과일 클래스들은 자신의 이름을 출력하는 같은 이름의 함수를 갖도록 하여 다형성을 이용하여 과일 바구니에서 편하게 과일들의 이름을 출력해보자 ( example - public void myNameIs( ) )
  • 기능 요구 사항 구현을 완료한 후에 과일 바구니에 담긴 과일들의 색깔을 출력하는 기능을 만들어보자
  • 기능 요구 사항 구현을 완료한 후에 키위라는 과일을 새로 추가해서 과일 바구니에 담아보자 이름 : 키위, 색깔 : 초록, 가격 : 500

코드가 궁금하시다면 아래 주소에서!

profile
자그마한 개미

0개의 댓글