빅데이터 JAVA 개발자 교육 - 02일차 [게시판을 만들어 보자]

Jun_Gyu·2023년 2월 5일
1
post-thumbnail

오늘도 달려가보는 거시에요

지난 첫 시간 내용 복습

(요약 : 요약.)



오늘은 break와 continue로 한번 시작해보자.

1. Break와 continue

break를 쓰면 1000까지 달려가던 변수 i도 10에서 불심검문을 당해버린다

break

주로 반복문에서 개발자가 원하는 부분에서 코드를 강제로 종료를 시키는 코드이다.
위의 예제를 보면 1부터 1000까지 i가 반복되지만, 10일때 강제로 종료가 되게끔 코드를 구성한 모습이다.

그리고

continue

현 위치를 기준으로 아래의 소스코드는 수행되지 않게 하는 코드이다. 위 사진과 같은 경우에는 if짝수인 경우에 continue를 썼기 때문에 짝수를 출력하지 않는 것이다. 실행 결과는

1
3
5

와 같이 출력될 것이다.


이후 배열에 대하여 공부하였다.



2. 배열

배열이란 연관된 데이터를 하나의 변수에 그룹핑해서 관리하기 위한 방법이다.

위의 사진처럼 경우 변수a부터 e까지 선언하여 각각 1~5까지 값을 부여하여 복잡하게 불러 올 필요없이 age라는 배열을 하나 만들어 여러 값들을 관리하여 불러오기가 용이하다.

배열의 경우 첫 자리부터 0,1,2,3... 번째 자리로 구분하기 때문에 나중에 배열에 저장되어있는 값을 불러오기 위해서는 이 부분을 참고해야 할 것이다.

때에 따라서는 아래처럼 length를 이용하여
배열 안에있는 모든 식구들을 불러 세우는것 또한 가능하다.

그렇다면 행렬을 거꾸로 출력하는것은 어떻게 할까??



- 배열역순

이전에 언급한것처럼 배열의 자리는 0번째부터 시작하기 때문에, 위의 사진처럼 구현 할 수 있다. 사진에서는 총 2가지의 방법이 나와있는데, 처음부터 for문을 역순으로 내려오게끔 i--를 이용한 방법과, System.out.println(); 안에서 역순으로 처리가 되게끔 구현하는 방법까지

총 두가지의 방법을 사용할 수 있겠다.



3. float함수

일반적인 int 함수는 정수 (0,1,3,10,100,-1000 등) 을 나타내지만, float함수와 같은경우 모든 실수를 나타내주기 때문에 소수점 아래까지 표현이 가능하다.

위의 사진에서 모든 age배열의 값을 더한 뒤 평균나이를 계산하기 위하여 float함수를 사용하여 avg변수에 선언하여 결과값을 나타내도록 코드를 구성하였다.



4. 문자열과 split

사진에서 보면 알 수 있듯이 String함수의 경우에 일반적으로 Scanner 함수처럼 import를 선언하지 않아도 된다는 특징이 있다.
원래라면 선언하는것이 맞기는 하나, 이미 라이브러리에 포함이 되어있기 때문에 별도로 포함하지 않아도 되는 것이다.
기존의 원시타입 문자형인 char 와 비교하였을 때 문자에 대한 값들을 변경, 검색하는 데 있어서 좀 더 용이하고 편리하다는 장점이 있다.

'str.' + ctrl + space를 통하여 문자열을 원하는 부분까지 출력하는 것도 가능하다.
(int a 는 왜 쓴거지..?)

위의 경우에는 str이라는 문자열을 선언하여 ret이라는 문자 배열로 선언한 뒤 .split을 이용하여
원하는 위치에서 배열을 구분하였다. split은 개발자가 원하는 기준으로 문자를 분할하게 해주는 명령어이다.

따라서 ret배열의 첫번째 값은 hello, 두번째 값은 world로 나눠서 출력할 수 있게 되는 것이다.


다음은 클래스 만들기이다.



5. 클래스 만들기 (@Getter, @Setter, @ToString)

사실상 앞서 배웠던 모든 문법들은 내가 원하는 타입의 클래스를 만들기 위한 과정이었다.
이제 배운내용들을 토대로 '게시판'을 만들기 위한 방법을 소개할 것이다.

이번에는 직접 회원가입 형식으로 유저의 아이디, 패스워드, 이메일 등의 정보를 받아오거나 보내기 위한 Member 클래스를 만들어 볼 것이다.

본 클래스는 실행하는 클래스가 아니기 때문에 클래스 생성 페이지에서

public static void main(String[] args)

항목은 생성되지 않도록 체크하지 않았다.


먼저 생성된 클래스의 화면에서 우클릭을 한 후 Source 항목으로 들어가
Generate getter and setter를 눌러 String으로 지정할 모든 변수들을 체크해 준다.


그러면 이러한 형식으로 '메소드'들이 만들어지게 된다.

Main4에서 사용할 수 있는 이유는
이렇게 만든 Member 클래스를 Main4에서 직접 지정 할 것이기 때문이다.

다시 한번 더 Source로 들어가서 Generate to string,

모든 내용들을 체크하여

@Override를 받는다.


이후 방금 전 완성시킨'Member 클래스'를 직접 import 지정하여 Main4 클래스로 불러온 이후,

UserId 값을"aaa"라고 입력시키게 되면 메소드에 aaa라는 값이 해당 항목에 저장되게 된다.
여기에서는 사용자의 Id 값이 되겠다.

이러한 식으로 저장하고싶은 나이, 이메일, 전화번호, 비밀번호 값을 입력하고 현재 날짜를 알려주는 Date 클래스까지 입력한 이후 코드를 출력시키게 되면 ..


사진이 좀 길어서 잘 안보이긴 하지만.. 정상적으로 출력이 된 것을 확인할 수 있다.


그렇다면 어떠한 원리로 작동하게 되는 것일까??


Main4 클래스에 구성된 코드를 바탕으로 Member 클래스의 메소드 구성을 이용하는 방식이며,
Member 클래스에 짜둔 메소드는 기존에 eclips 라이브러리 자체에 포함된 다른 함수들을 이용해 구성이 된 방식이다.


한마디로

Main4.java [대기업] → Member.java [중견기업] → eclips 라이브러리 클래스 [중소기업]

의 느낌이라고 할 수 있겠다.



그렇다면 이제 직접 게시판을 만들어 볼 차례이다.


먼저 게시판에 들어가는 문자와 숫자, 날짜를 String, long, Date에 각각의 변수들을 지정하고

클래스로 불러들이고 내보낼 메소드인 setter, getter를 설정 후 toString까지 설정을 마치고

(설정방법 위에 있으니 기억안날시 참고!)

위와 같이 코드를 세팅하면...

와 같이 값이 도출되게 된다.




추가적으로 [ Lombok ]을 다운로드하여 pom.xml을 설정한다면
setter, getter, ToString을 고작 3줄로 설정이 가능하다!
(이 부분에 대해서는 나중에 따로 자세히 다루도록 하겠다.)


this.

를 이용해서 앞서 선언했던 변수를 다시 불러올 수도 있다. 위의 사진과 같은 경우 국어 성적 산출기를 구성하는 중에 평균치를 내기 위해서 또다시 for 문을 쓸 필요 없이 필요한 부분만 불러온 모습이다. 고마워요 this.


추가적으로,깃허브에 연동할 당시에'Maven은 올리지 않겠다'라고 설정을 해두었기 때문에,

오늘 낮에 올려두었던 pom.xml은 전부 올라가겠지만,

여기 있는 라이브러리는 올라가지 않는다! 코드만 깃허브로 올라가게 된다고 한다.

그럴 경우를 위해
맨 상위 패키지 우 클릭,


Maven에서 Update project 클릭



색칠되어 있는 '스냅샷/릴리시스 포스 업데이트' 칸을 체크한 이후 OK 버튼 클릭!




이렇게 오늘 8시간의 강의도 무사히 끝이 났다.. 수업이 진행되는데 있어 개개인의 차이도 있을것이고

성장속도도 차이가 날 수는 있겠지만,


한가지 확실한건

내가 정해놓은 목표로 나아가기 위해서는
지금의 노력 정도로는 턱없이 부족하다는 점이다.
오늘도 집 가기 전에 복습 좀 하다가 집에 가야지...!

profile
시작은 미약하지만, 그 끝은 창대하리라

0개의 댓글