본문 바로가기
JAVA

스프링 1주차 강의내용 정리

by 너무앵 2021. 12. 1.

1주차 핵심내용

 

#1 메소드 선언

  메소드란? → 반복적인 행동을 줄여서 어디든 갖다쓸 수 있는 명령 모음

   - 클래스 선언 후 main 함수 선언 전에 메소드를 작성할 수 있음

 

   public (반환타입) 메소드명(파라미터) {

         명령 내용

         return (반환값)

         }

메소드 예시)

   - 정수 2개를 파라미터로 하는 sub 메소드 선언

   - 선언한 메소드를 자유롭게 사용

public static int sub(int num1, int num2) {
	return num1 - num2;
}

public static void main(String[] args) {
	int result = sub(1, 2);
	System.out.println(result);
}

 

#2 클래스

  • 클래스란? 👉 클래스는 정보를 묶는 것!
    • 현실과 비슷한 개념(객체)을 나타내기 위한 자바의 도구
  • 객체지향 프로그래밍
    • 프로그래밍을 현실 세계에 빗대어 체계적으로 해보자는 발상이, 객체지향 프로그래밍의 핵심

□ 클래스 예시#1

public class Course {
		// title, tutor, days 가 Course 라는 맥락 아래에서 의도가 분명히 드러나죠!
    public String title;
    public String tutor;
    public int days;
}

 * Course라는 클래스 안에 클래스를 이루는 3가지 클래스 변수를 선언(title, tutor, days)

   현실처럼 클래스 단위로 데이터들을 묶어서 관리하는 것이 핵심

 

 

□ 클래스 예시#2

Course course = new Course();
course.title = "웹개발의 봄, Spring";
System.out.println(course.title);
System.out.println(course.tutor);

 * Course 클래스를 가지고 새로운 변수 course를 선언할 수 있음

   (Course 클래스는 빵틀 / course 변수는 빵틀로 찍어내는 빵)

 

 

□ 생성자(Constructor)

public class Course {
    public String title;
    public String tutor;
    public int days;

		// 이렇게 아무런 파라미터가 없는 생성자를 기본생성자 라고 부릅니다.
    public Course() {

    }

    public Course(String title, String tutor, int days) {
			  // this 는 "이것" 이죠? 클래스 변수를 가리킵니다.
        this.title = title;
        this.tutor = tutor;
        this.days = days;
    }
}

 * 기본적으로 클래스 생성시 JAVA에서 자동으로 생성자를 생성하긴함

    ex) Course();

  하지만 클래스 파라미터를 따로 선언하고싶다면 별도로 기본 생성자를 생성해줘야 함

 

□ Getter / Setter

  • JAVA 클래스에서는 외부에서 자료를 맘대로 수정하는걸 막기 위해 private/public 선언 가능
  • private 선언 후 자료를 조회/수정하기 위한 getter / setter가 필요
// Getter
public String getTitle() {
    return this.title;
}
// Getter
public String getTutor() {
    return this.tutor;
}
// Getter
public int getDays() {
    return this.days;
}

// Setter
public void setTitle(String title) {
    this.title = title;
}
// Setter
public void setTutor(String tutor) {
    this.tutor = tutor;
}
// Setter
public void setDays(int days) {
    this.days = days;
}

 

 * setter의 경우 반환되는 자료형이 없기때문에 void

   getter의 경우 반환되는 자료형을 적어주어야 함

 

 

#3 RestController

  • Rest란?
    • 서버의 응답이 JSON 형식임을 나타냅니다.
    • HTML, CSS 등을 주고받을 때는 Rest 를 붙이지 않습니다.
  • Conroller란?
    • 클라이언트의 요청(Request)을 전달받는 코드를 Controller 라고 부릅니다.
    • → JSON 만을 돌려주는 것은 RestController 라고 부릅니다.
  • RestConroller 만들기
    1. src > main > com.sparta.week01 에 controller 패키지를 만듭니다.
    2. CourseController.java 파일을 만듭니다.
  • CourseController.java 이해하기
    • @GetMapping
    • 브라우저에서 주소를 치는 행위를 GET 방식으로 정보를 요청한다고 합니다. 스프링 주소(http://localhost:8080) 뒤의 주소가 /courses 일 경우, getCourse 메소드를 실행함을 나타냅니다.

'JAVA' 카테고리의 다른 글

스프링 4주차 강의내용 정리  (0) 2021.12.24
스프링 3주차 강의내용 정리  (0) 2021.12.16
스프링 2주차 강의내용 정리  (0) 2021.12.12