웹개발생존기/JAVA_개발공부

JAVA 생초보 필기 - 계산기를 만들어보자!

개발하는 나비 2022. 7. 18. 18:30

 

초보자가.. 어떻게 벌써부터 계산기 기능을 코딩하느냐?

그 방법은 간단하다.

바로.. 쌤, 그리고 쌩초보동료들과 함께라면 말이다...^^

 

쌤: 우선 맛보기를 해봐야, 이론을 들으면서

'아! 이게 그 뜻이구나!'를 알 수 있겠죠? ^^

 

나: ...에?

 

 

혼란함에 빠질 틈 없이, 우선은 캡쳐하고 수업을 따라가기 바빴다.

지난 시간에 이어, 컨트롤러, 서비스라는 용어에 대해서도 함께 알아보자.

*상상Time*

 

당신은 어느날.. 핸드폰을 변기에 빠트렸다.

나의 소중한 엘리자벳2세 스마트폰을 살려내기 위해 급히 서비스센터에 간다.

 

그때, 인포메이션에 앉아있는

A씨가 밝게 웃어주며 안내를 해줬고

당신의 엘리자벳2세를 B 엔지니어에게 전달해 주었다.

 

여기에서,

A씨는 '컨트롤러',  가운데에서 폰 전달해주는사람 (얼굴마담)

B씨는 '서비스', 폰을 실질적으로 고치는사람의 비유이다. (실제로 일을 하는 사람)

 


왜 컨트롤러라는 구조가 필요할까?

 

예를 들어, 위 엔지니어처럼 B씨같은 사람

즉, 서비스가 3이 있다고 가정해보자.

a는 도장, b는 광택, c는 수리

이들은 모두

= 기술이다. 

(그래서 코드양이 많다.)

그래도 3명이 일을 분업시켰으니 소스코드를 최대한 쪼갰다 라는 비유로 볼 수 있는 것이다.

 

 

상황 1. 

컨트롤러호출을 한다.

who?

도장/수리 두명을 호출

 

상황 2. 

컨트롤러가 도장, 수리 다함, 능력짱임

근데 업무과중이 되어

몸살이 나버림

그만 둠

그러면?

= 회사가 망함

 

, 분업 가능하기 위해

그리고 컨트롤러는 언제든 교체 가능해질 수 있도록 하는 것이다.

(이후에 알게 되겠지만, 그래서 컨트롤러는 코드양이 적다.)


기술자 먼저 만들기

이곳은 '모델' 패키지라는 곳이다.

컨트롤러, 서비스, 모델 세가지의 역할로 나뉘고 있다.

'모델'에서는 

'무엇을 할 사람인지?'에 대한 구체성을 그려보는 곳이다.

(내가 이해하기엔)

 

기본적으로 이러한 과정에서 도와주는 두가지의 문지기들이 있는데

두 문지기의 이름은 'Getter', 'Setter'다.

(약간 패트와 매트같은 느낌)

금을 들고있는 인물

 

그들은 비슷하지만 다른 일을 한다.

 

Getter -> 그.. 혹시 이것좀 줄래?하면 필요한거 꺼내주는 역할

Setter -> 금?? 그게 금 맞아?! 못믿겠어... 못줘! 내가 넣을거야!

 

 

(여기서부터는 혼돈의 필기..)

밑에 private먼저 입력하고

위에 @Getter 하면 import 부분은 자동생성 된다.

 

CRUD를 기억하라!

 

post 등록 C

get 읽기 R

put 수정 U

delete 삭제 D

 

우리가 물건을 들려면 body가 필요함!

RequestBody= 요청하는 몸통

 

이 박스좀 옮겨줘

저기 5번 박스 있잖아, 여기 박스랑 바꿔줄래?’

= 바꿔줄 바디 필요함

 

즉, 등록/수정

= 바디가 필요함

 

 

저거 13번 없애줘

‘13번 상자 읽어줘

 

읽기/삭제

= 바디 필요없음

 

 

아래, http. 8080 뜨면 된 것

 

8080이란건?

ip 8080이면 8080‘(=port포트)’로 들어가는 것

 

localhost 이 지역의 주인 =

클릭해놓는 목록들

그리고 값

 

final 값 작성, MinusService 정의하고, 그다음 ..

빨간글씨 나오면, Alt+enter

 

계산기 만들고 느낀점

: 할 때는 기본 구조만 알면, 플러스 다음 마이너스의 응용은 금방 할 수 있었다..

하지만 아직은 각각의 자리나 명칭이 무엇을 뜻하는지 모르겠다.

그래도 하나하나 알아갈 수 있을거란 기대!

그리고 무엇보다도 포스트맨으로 결과를 봤을 때 희열이 강렬했다.