본문 바로가기

분류 전체보기

(36)
[Spring boot] 3일차_게시판 만들고 새 글 작성:Create * 폼 데이터 : 태그에 실려 전송되는 데이터 : 데이터를 묶어 실제 서버로 전송해주는 역할 form의 2가지 속성 action : 데이터를 처리하기 위한 서버의 주소 method : 데이터를 전송하는 방식 지정. get, post 2가지 방식 존재 get : 데이터가 전송될 때 주소창에 파라미터 형태로 붙어 데이터가 노출됨 post : 데이터가 전송될 때 데이터가 노출되지 않음 * DTO(Data Transfer Object) : 폼 데이터에 실어 보낸 데이터를 서버의 컨트롤러가 DTO에 담아 받음 * 폼 데이터를 DTO로 받는 과정 * 데이터베이스 데이터를 관리하는 창고. DB의 모든 데이터는 행과 열로 구성하여 테이블에 저장되고 관리 * JPA 자바 언어로 DB에 명령을 내리게 하는 도구. 엔티티와..
[Spring boot] 2일차_MVC 패턴 이해와 실습 MVC 패턴 View - 화면을 담당하는 뷰 템플릿(=뷰) Controller - 클라이언트의 요청에 따라 서버에서 처리하는 역할 Model - 데이터 관리 뷰 템플릿 화면을 담당하는 기술. 웹 페이지를 하나의 틀로 만들고 여기에 변수를 삽입해 서로 다른 페이지로 보여줌 Mustache : 뷰 템플릿을 만드는 도구 뷰 템플릿은 src > main > resources > templates 에 생 컨트롤러는 src > main > java > com.example.firstproject에 하나의 패키지로 생성 //controller/FirstController.java package com.example.firstproject.controller; import org.springframework.stere..
[Spring boot] 1일차_스프링 부트 시작 스프링 부트 자바 웹 프로그램을 쉽고 빠르게 만들기 위한 도구. 스프링 프레임워크를 개선한 것.(개발 환경 설정 간소화, 웹 애플리케이션 서버를 내장함->개발에만 더 집중할 수 있음) 클라이언트-서버 구조 웹 서비스는 클라이언트의 요청에 따른 서버의 응답으로 동작. 클라이언트 : 서비스를 사용하는 프로그램/컴퓨터 서버 : 서비스를 제공하는 프로그램/컴퓨터 웹 브라우저 - 클라이언트, 스프링 부트 - 서버 역할 반드시 서버를 실행해야만 웹 브라우저를 통해 응답받을 수 있음 Intellij에서 hello.html 파일을 만든 후 chrome에서 localhost:8080/hello.html로 실행하려고 했는데 이런 오류만 계속 떴었다. 이것 저것 만지다가 내가 html파일을 res-static폴더에 만들었어..
[Java] 인터페이스, 추상클래스, enum 인터페이스, abstract 클래스 사용 이유 : - 설계시 선언해두면 개발할 때 기능 구현에 집중 가능 - 공통적인 인터페이스, abstract 클래스를 선언해 놓으면, 선언과 구현 구분 가능. Interface 인터페이스 내부에 선언된 메소드들은 몸통이 있으면 안됨. 선언만 하기. 클래스에 인터페이스 적용시 public class 클래스이름 implements 인터페이스나열. abstract 클래스 클래스 선언 시 class 앞에 abstract 추가. public abstract class sample{} abstract로 선언된 메소드가 하나라도 있으면, 그 클래슨느 반드시 abstract로 선언되어야함 abstract클래스는 몸통이 있는 메소드가 0개 이상 있어도 괜찮음. 인터페이스와 달리 st..
[Java] 형변환, 다형성 형변환 자식 타입 객체->부모 타입 객체 (자동가능) 부모 타입 객체->자식 타입 객체. 부모 타입의 실제 객체가 자식 타입이어야함 Child child=new Child(); Parent parent=child; Child child2=(Child)parent; 객체 instanceof 클래스(타입) : 객체 타입 구분하는 메소드 다형성 하나의 객체가 여러 타입을 가질 수 있음 형 변환하더라도 실제 호출되는것은 원래 객체에 있는 메소드가 호출됨.
[Java] 상속 상속 자식 클래스는 클래스 선언시 extends 다음에 부모 클래스 이름을 적어줌 자식 클래스의 생성자가 호출되면 자동으로 부모 클래스의 매개 변수 없는 생성자가 실행됨. 자바는 다중 상속이 안됨. extends 뒤에 클래스를 하나만 써야함. 부모 클래스에 기본생성자를 만들어놓지않고 매개변수를 받는 생성자만 만들어놓으면, 자식 클래스의 생성자가 실행될 때 에러 발생. 자식 클래스의 생성자가 실행될 때 부모 클래스의 기본 생성자를 찾기 때문 ->super()사용. super(null); super() 메소드처럼 super()로 사용시 부모 클래스의 생성자를 호출한다는 것을 의미. super.printName()으로 사용시 부모 클래스에 있는 printName()이라는 메소드 호출을 의미 생성자에서는 sup..
[Java] 패키지, 접근제어자 패키지 클래스를 체계적으로 관리하기 위한 도구. 작성한 클래스들을 구분 짓는 폴더와 비슷함. 클래스들을 분류하지 않아 이름이 중복되거나 클래스의 기능이 혼동되는 상황 방 패키지의 물리적인 형태는 파일 시스템의 폴더이지만, 폴더의 기능만 하는 것이 아니라 클래스의 일부분임 패키지 선언문 : "package c.javapackage;" 소스의 가장 첫 줄에 있어야만함. package 선언 위에 주석, 공백은 상관없음. 하지만 다른 자바 문장이 있으면 컴파일 오류 패키지 선언은 소스 하나에는 하나만 있어야함. 소스 파일이 두개의 폴더에 한번에 존재할 수 없기 때문 패키지 이름과 위치한 폴더 이름이 같아야함. 패키지 이름 규칙 java로 시작하면 안됨 모두 소문자로. 자바의 예약어x *컴파일 할 때 javac ..
[Java] 매개 변수 지정 배열을 사용하지 않고 임의의 매개 변수를 넘겨줄 수 있음. *배열 사용시 public class ReferenceTypes{ public void calculateNumbers(int[] numbers) { //생략 } } 하지만 매개 변수로 넘겨 줄 때 계산할 숫자들을 모두 배열로 만든 뒤 넘겨주어야함. *배열 사용x. "타입...변수명" (이때 ...사이에 공백 없어야됨) public class ReferenceTypes{ public void calculateNumbers(int...numbers) { //생략 } } *예) public class ReferenceTypes { public void calculateNumbers(int...numbers){ int total=0; for(int nu..