오늘 오전에는 java/spring 기초 1주차 강의를 완료 했다.
내용을 정리하면서 이해하고 넘어가려니 하나만 듣는데도 시간이 꽤 걸리는 것 같다.
그래도 좀 헷갈렸던 부분이나 처음 보는 것들을 어느 정도 이해하고 넘어갈 수 있어서 맘에 든다.
기초 자바 문법에서도 내가 알고 있던것에 추가로 알게 된 것도 있고 이제야 이해하게 된 것도 있다.
숫자형을 쓸 때 float 를 사용하는 경우 F를 붙인다고 했는데 f를 사용해도 잘 작동하는 것을 알 수 있었다. 스터디 시간에 튜터님도 F를 사용하시는 거 보니 F를 더 애용하는 걸까..?
long을 사용할 때도 Long이라고 작성을 한다던가 숫자가 길어져서 빨간줄이 생기면 숫자 뒤에 L을 붙여준다던가 하는 것을 새로 알게 되었다. 여기서는 숫자 뒤에 l로 적었을때 작동을 하지 않았다. 헷갈려서 다 F,L 처럼 대문자로 작성하는 건가??
public (반환타입) 메소드명(파라미터) {
// 명령 내용
return (반환값)
}
재료 = 파라미터 (없을 수도 있음)
명령 = 실행코드
결과 = 반환값 (없을 수도 있음)
Class 안에서 작성해야 한다!
기본적인 메소드 작성 방법이고, 밑에는 예제.
// 파라미터 X, 반환값 X
public void simplePrint() {
System.out.println("파라미터도 없고, 반환값도 없어요!");
}
// 파라미터 O, 반환값 X
public void simpleSum(int num1, int num2) {
System.out.println("num1 :" + num1 + ", num2: " + num2);
}
// 파라미터 X, 반환값 O
public int simpleReturn() {
return 3;
}
// 파라미터 O, 반환값 O
public int sum(int num1, int num2) {
return num1 + num2;
}
또 여기서 깨달은게 반환값이 있냐 없냐에 따라, String,int,void를 작성하는 것이었다!!!
또 새로운 Getter/Setter를 배웠는데 이를 알기 위해서는 먼저 public 과 private를 알아야 한다.
자바의 클래스에는 밖에서 맘대로 사용해도 되는 public과 함부로 바꾸면 안되는 private가 있다고 한다. 이때 클래스를 private로 만들었다면!
public class Tutor {
private String name;
private String bio;
}
클래스는 public 이라 다른 곳에서 불러와서 사용 할 수 있지만, 안에 내용인 멤버 변수는 private라 Getter 와 Setter 를 사용해 주어야 하는 것 같다.
//Getter
public String getName(){
return this.name;
}
public String getBio(){
return this.bio;
}
getter는 정보를 가져오기 때문에 return이 있어야 한다. 또 자바에서 return이 있다면 반환값이 무엇인지 알려주어야 하기 때문에 public ‘반환타입’을 꼭 적어 주어야 한다.
get멤버변수명()
으로 이름을 지어준다.
//Setter
public void setName(String name){
this.name = name;
}
public void setBio(String bio){
this.bio = bio;
}
setter는 정보를 바꿔주는 것이기 때문에 return이 없다, 고로 반환타입이 없다는 void를 적어준다! 이름은 set멤버변수명()
으로 지어준다.
Html/CSS/Javascript 가 아닌 ‘데이터’를 보여줄 때는 RestController 를 사용!
이 녀석은 새로 package 를 만들어야 한다. package명은 controller로 하고, 컨트롤러를 만들 파일명+Controller로 만든다.
그리고 그 안에 코드를 작성 하는데, 이 부분이 상당히 흥미롭다.
Python에서 @app.route 로 작성했던 부분과 유사하기 때문!
우선 클래스 위에 @RestController 라고 지정해준다. 그렇게 하면 이전에 작성하던 클래스 들과는 아예 다른 역할을 한다고 한다!
안에는 @GetMapping(”/courses”) 라고 작성. 그 후 public Course getCourses(){}
를 적는데 이 부분이 파이썬에서 @app.route 부분과 똑같아 보인다.
url 주소 /courses 에 GET 방식으로 정보를 받는 것이고, getCourses(){}
이 부분의 정보를 가져온다는 소리인 듯 하다. ( 실제로 그렇게 작동함)
다른 사람들이 만들어 놓은 라이브러리? 와 비슷한 것을 사용할 수 있게 해주는 것 같다.
사용해보기
1. Maven Repository 에서 원하는 라이브러리 를 찾는다.
2. build.gradle 에 원하는 프로젝트 파일을 넣는다.
3. dependencies 에서 run 버튼을 누른다.
4. 잘 추가 되었는지 확인 하면 끝.
자바는 기본적으로 localhost:8080을 사용한다.
이해하니까 재밌고 이전 언어에서 봤던 것들을 보니까 또 재밌다.