Spring 1

최성원·2022년 1월 23일
0

Spring

목록 보기
1/4

Day-1

자바 기초 문법 1

API

은행 창구와 같은, 하나의 "약속" 입니다.
정해진대로 요구를 하면, 정해진 결과물을 돌려주는 창구이죠.

웹의 동작 개념 (HTML을 받는 경우)

네! 우리가 보는 웹페이지는 모두 서버에서 미리 준비해두었던 것을 "받아서",
"그려주는" 것입니다. 즉, 브라우저가 하는 일은 1) 요청을 보내고, 2) 받은 HTML 파일을 그려주는 일 뿐이죠.

근데, 1)은 어디에 요청을 보내냐구요? 좋은 질문입니다. 서버가 만들어 놓은 "API"라는 창구에 미리 정해진 약속대로 요청을 보내는 것이랍니다.

예) https://naver.com/
→ 이것은 "naver.com"이라는 이름의 서버에 있는, "/" 창구에 요청을 보낸 것!

웹의 동작 개념 (데이터만 받는 경우)

앗, 그럼 항상 이렇게 HTML만 내려주냐구요?
아뇨! 데이터만 내려 줄 때가 더~ 많아요.
사실 HTML도 줄글로 쓰면 이게 다 '데이터'아닌가요?
자, 공연 티켓을 예매하고 있는 상황을 상상해봅시다!
좌석이 차고 꺼질때마다 보던 페이지가 리프레시 되면 난감하겠죠ㅠ?
이럴 때! 데이터만 받아서 받아 끼우게 된답니다

데이터만 내려올 경우는, 이렇게 생겼어요!
(소곤소곤) 이런 생김새를 JSON 형식이라고 한답니다.

스프링은 어디를 담당하는 걸까?

스프링은 "서버"를 담당합니다. 요청에 따라 눈에 보이는 것들 또는 데이터를 제공해주는 것이지요.
그리고 스프링은 자바 언어 바탕으로 만드는 것이구요.

화면에 나타내보기

System.out.println();

숫자

//        int a = 1000000000;
//        int b = 3;
//        double c = 3.7; // double = float c = 3.7f;
//        long d = 1000000000; // = Long d = 1000000000l;

문자열

//        String myName = "최성원";
//        String myName2 = "홍길동";
//        String myName3 = myName+myName2;

자바 기초 문법 2

참거짓 - boolean

참 거짓
//        int myAge = 20;
//
//        boolean isAdult = myAge > 20;  //booleand 참 거짓
//        boolean isKid = myAge <= 20;
////        boolean isTest = true;
////        boolean isTest2 = false;

//        System.out.println(isAdult);
//        System.out.println(isKid);
//        System.out.println(myAge==20); // 동일한가?
//        System.out.println(myAge!=20); // 다른가?

배열

// 배열열
//        // 1. 순서가 중요함
//        // 2. 같은 자료형만 넣을 수 있다
//        // 넣을때는 add , 조회는 get , 제거할 때는 remove를 사용
//
////      1. 형태는 리스트다
////      2. 변수명은 myList다
////      3. 값
////        1.          2.         3.
//        List<String> myList = new ArrayList<>(); // 배열 리스트 선언
//        String course1 = "웹개발의 봄 Spring";  // myList 0번째
//        String course2 = "프론트엔드의 꽃 React"; // myList 1번째
//        // 문자열 두개 생성 course1 , 2
//        // 문자열 두개를 묶어주는 myList 변수 안에 넣어주는 역할 "add"
//        // myList. 여기서 .이란 배열이 가지고 있는 다양한 기능을 활용하겠다라고 이해.
//        myList.add(course1); // 웹개발의 봄 Spring
//        myList.add(course2); // 프론트엔드의 꽃 React
//        System.out.println(myList); // [웹개발의 봄 Spring, 프론트엔드의 꽃 React] 대괄호로 시작해서 대갈호로 끝나고 각요소를 ,로 구분해주는게 List == 배열
//        // 배열에서 조회를 하는것이 get=뽑는다
//        System.out.println(myList.get(1)); // 프론트엔드의 꽃 React
//        System.out.println(myList.get(0)); // 웹개발의 봄 Spring
//        // 배열에서 제거 할때 하는것이 remove
//        myList.remove(1);
//        System.out.println(myList); // [웹개발의 봄 Spring]

임포트

미리 작성된 코드를 불러오는 것을 "임포트(import)"

메소드

// 메소드 정리
    // 1. Class 안에서만 작성해야 된다. Class 안에 메소드가 들어가야된다.
    // 2. public은 무조건 써줘야된다.
    // 3. 리턴 형태를 써준다. (void , int , String 등등)
    // 4. 메소드 명을 써준다. 그안에 필요하다면 파라미터(재료)를 넣어준다 .
    // 5. return 값이 없으면 void 있드면 자료형을 써준다.

    // 메소드명은 변수명과 규칙 (영어 사용 , 소문자시작 , 공백없음 , 대문자구분)이 같습니다.
    // public static int twonumbersum x two number sum x twoNumberSum o 대문자로 구분




////        메소드
////        반복적인 행동을 줄여서 어디든 갖다쓸 수 있는 명령 모음
////        우리가 명령 내릴것들에게 이름을 붙여주고 이름만 호출하면 실행 이름표라 생각하면 될듯함
//    // 메소드 실행 방법
//    // 1. 메소드명 () <- 처럼 작성
//    // 2. 메소드의 구조조
//    // 2-1 public (반환타입) 메소드명 (파라미터) {
//    //     명령 내용
//    //     return (반환값)
//    //     }
//    // public 누구나 사용할 수 있다.
//    // public 반환타입 메소드명(재료 ex) int a , String b )(소괄호) {}(중괄호)
//
//// public, static void 에 대해서는 곧 배웁니다! 우선은 넘어갈게요.
//    // void return할 값이 없으면 void 아무것도 안돌려준다 , 비어있다.
//    // return할 변수가 있고 그것이 정수라면 int
//    // return할 변수가 있고 그것이 문자열이라면 String
//    public static void printInfo() { // 내가 명령을 내릴것 모음에 이름을 붙여서 사용하는것이 메소드 / 메소드는 항상 클레스에 존재함.
//        String title = "웹개발의 봄 Spring";
//        String tutor = "남병관";
//        int weeks = 5;
//        float ratings = 5.0f;
//
//        System.out.println("제목: " + title);
//        System.out.println("튜터: " + tutor);
//        System.out.println("주차: " + weeks);
//        System.out.println("별점: " + ratings);}

조건 , 반복문

package com.sparta.week01.prac;

import java.util.ArrayList;
import java.util.List;

public class Prac2 {
    public static void main(String[] args) {

        List<String> fruits = new ArrayList<>();
        fruits.add("감");
        fruits.add("배");
        fruits.add("감");
        fruits.add("딸기");
        fruits.add("수박");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("딸기");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("감");
        System.out.println(fruits);

        System.out.println(fruits.get(0));
        System.out.println(fruits.get(1));
        System.out.println(fruits.get(2));
        System.out.println(fruits.get(3));
        System.out.println(fruits.get(4));
        System.out.println(fruits.get(5));
        System.out.println(fruits.get(6));
        System.out.println(fruits.get(7));
        System.out.println(fruits.get(8));
        System.out.println(fruits.get(9));
        System.out.println(fruits.get(10));
        System.out.println(fruits.get(11));
        System.out.println(fruits.get(12));
         // 위와 같은 내용인 반복문
        for (int i=0; i<fruits.size(); i++) {
            String fruit = fruits.get(i);
            System.out.println(fruit);
        }
//        for (int i=0;i<13; i++) {
//            System.out.println(fruits.get(i));
//        }
// 매번 13개, 14개, 12개.. 개수 세어줘야 할까요?

        //반복문의 구조
//        for (시작조건; 반복을계속하는조건; 더하기){
//            명령문
//        }

    }
}

클래스

package com.sparta.week01.prac;

// 클래스란 정보를 묶는 것
// 현실과 비슷한 개념(객페)을 나태내기 위한 자바의 도구
// 클래스 내 정보를 멤버 변수 라고 한다.

// 객체지향 프로그래밍
// 조금 더 프로그래밍을 현실 세계에 빗대어 체계적으로 해보자는 발상

// 빵틀
public class Course { // 클레스명 (Course) 과 파일명 (Course) 은 동일해야된다.
    // Course (객체) 라는것은 title , tutor , days 라는걸로 구성이 된다고 컴퓨터 정보 전달. (객체지향)
    // title, tutor, days 가 Course 라는 맥락 아래에서 의도가 분명히 드러나죠!
    public String title;
    public String tutor;
    public int days;

    // 생성자 만들때
    // 기본 생성자
    public Course() {
    }
    // 생성자
    public Course(String title, String tutor, int days) {
        this.title = title;
        this.tutor = tutor;
        this.days = days;
    }

    public static void main(String[] args) {
        String title = "웹개발의 봄 , Spring";
        String tutor = "남병관";
        int days = 35;
        Course course = new Course(title,tutor,days);
        System.out.println(course.title);
        System.out.println(course.tutor);
        System.out.println(days);



//        Course course = new Course();
//        // 빵
//        course.title = "웹개발의 봄, Spring";
//        // 빵
//        course.tutor = "남병관관";
//        System.out.println(course.title); // 웹개발의 봄, Spring
//        System.out.println(course.tutor); // 남병관관
//
//        Course course2 = new Course();
//        course2.title = "프론트엔드의 꽃, React";
//        course2.tutor = "임민영";
//        System.out.println(course2.title); // 프론트엔드의 꽃, React
//        System.out.println(course2.tutor); // 임민영
    }

}

Getter / Setter

코드를 입력하세요package com.sparta.week01.prac;

public class Tutor {
    private String name;
    private String bio;

    public Tutor() {

    }

    public Tutor(String name, String bio) {
        this.name = name;
        this.bio = bio;
    }


    // Getter
    public String getName() {
        return this.name;
    }
    public String getBio() {
        return this.bio;
    }

    // Setter
    public void setName(String name) {
        this.name = name;
    }
    public void setBio(String bio) {
        this.bio = bio;
    }
}
package com.sparta.week01.prac;

public class Setter {

    // 바꾸면 안되는 코드 private
    private String title;
    private String tuter;
    private int days;

    public static void main(String[] args) {
        String title = "웹개발의 봄 , Spring";
        String tutor = "남병관";
        int days = 35;
        Setter setter = new Setter();
        setter.setTitle(title);
        setter.setTuter(tutor);
        setter.setDays(days);
        System.out.println(setter.getTitle());
        System.out.println(setter.getTuter());
        System.out.println(setter.getDays());


    }

    // Setter / private 수정
    public void setTitle(String title) {
        this.title = title;
    }

    public void setTuter(String tuter) {
        this.tuter = tuter;
    }

    public void setDays(int days) {
        this.days = days;
    }

    // Getter / 불러오는
    public String getTitle() {
        return this.title;
    }
    public String getTuter() {
        return this.tuter;
    }
    public int getDays() {
        return this.days;
    }

}
profile
각성구

0개의 댓글