내일배움캠프 11일차

김재현·2024년 3월 12일

키오스크 LV.3에 도전하다가 너무 꼬여버려서 계산기부터 다시 차근차근 복습하였다.

강의 영상을 보면서 LV.1부터 LV.3까지 따라해봤습니다.

LV. 1

더하기, 빼기, 나누기, 곱하기 연산을 수행할 수 있는 Calculator 클래스를 만들고,
클래스를 이용하여 연산을 진행하고 출력하기.

  • Calculator 클래스를 만들고 안에 조건문 when을 이용해서 연산에 맞게 결과를 낼 수 있게 만들었다.
  • readln()에 입력한 숫자가 대입되고 연산자에 따라 num1 과 num2 변수가 결과값을 내준다.

LV. 2

Lv1에서 만든 Calculator 클래스에 출력 이후 추가 연산을 가능하도록 코드를 추가하고, 연산 진행 후 출력하기
= 반복문을 사용하여 LV1 의 과정이 여러번 동작하도록 하라(-1을 입력하면 반복 종료)

  • 반복문 while을 이용하고 추가 연산은 %(나머지 연산)을 추가하고 break를 통해 반복문을 빠져 나올 수 있도록 했다. 그리고 연산자 대신 숫자를 이용해 연산을 할 수 있도록 하였다.
  • 출력시 헷갈리지않게 println으로 구분겸 안내를 추가하였고 while(true)문을 통해 반복문으로 만들어 주었다.
  • if문을 통해 변수 exitNum에 -1을 입력시 종료될 수 있도록 break를 넣었고 계속 계산을 진행하려면 1번을 눌러 continue로 다시 처음으로 돌아가게 해주었다.
  • operate 값을 Int로 바꾸어 각 연산자가 번호에 따라 연산될 수 있게 설정을 바꾸어주었다.

LV. 3

AddOperation(더하기), SubtractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 연산 클래스를 만든 후 클래스간의 관계를 고려하여 Calculator 클래스와 관계를 맺기

  • 현재는 Calculator 클래스 안에서 조건문을 사용하여 각 연산에 맞게 계산해줬다면
    각 연산에 대한 클래스를 만들어 줌으로써 Calculator의 역할을 나누어 주었다.
  • 연산은 Calculator의 상속을 이용해 함수 operate로 연산을 해준다.
  • 결과 출력은 Calculator가 아닌 다른 곳에서 출력한다.
  • 연산자를 각 클래스로 나눠 줌으로써 조건문은 함수 main으로 옮겨주었다.
  • Calculator의 상속을 이용해 함수 operate로 연산을 한다.

이렇게 계산기 LV.3까지 튜터님 강의를 보면서 복습해보았다.

인스턴스의 개념이 아직 좀 헷갈린다. 어떻게 사용하고 왜 만들어 주어야하는지 ㅠㅠ

하루의 마무리

  • 강의를 들으면서 LV을 따라가면서 하면 더 쉽게 할 수 있다는걸 알았지만 내일 다시 한번 천천히 키오스크 LV.1부터 따라해봐야겠다.

0개의 댓글