MVC와 템플릿 엔진이란? Model View Controller의 약자다 mvc와 템플릿 엔진은 서버에서 변형을 거친 뒤 html을 내려주는것 View는 화면을 처리하는데 집중해야하고 Model은 비지니스 로직과 관련 있거나 내부적인것을 처리하는데 집중해야함 컨트롤러에 hello-mvc를 매핑해주고 파라메터를 받아주는 메서드를 생성했다. hello 메서드에서는 “hello!!” 값을 직접 넣어주었지만 hello-mvc 메서드에서는 외부에서 넘어온 파라메터인 name의 값을 html에 출력하게 만든다. thymeleaf 엔진과 연동시켜준다. 값이 들어오면 hello! empty값이 “hello + {name} 값으로 치환된다. 하지만 hello-mvc를 호출했을때 오류가 발생한다. 그 이유는 파라메터 정..
분류 전체보기
학습 목표 클래스, 모듈, 패키지에 대해 설명할 수 있다 학습 내용 클래스 클래스의 정의 클래스는 객체를 만들어내기 위한 일종의 틀이다. 객체는 클래스에 정의된 내용대로 만들어지며, 각 객체는 서로 독립적으로 존재한다. 클래스는 보통 다음과 같은 형식으로 정의된다. class 클래스이름: # 클래스 내용 클래스 이름은 보통 대문자로 시작하며, 각 단어의 첫 글자는 대문자로 적는 것이 관례이다. 클래스 내용은 필요에 따라 다양한 속성(attribute)과 메서드(method)로 구성된다. 객체 객체는 클래스를 이용하여 만들어낸 것으로, 해당 클래스의 인스턴스(instance)라고도 부른다. 객체는 클래스에 정의된 속성과 메서드를 가지며, 서로 다른 객체는 서로 다른 속성 값을 가질 수 있다. 객체는 다음과..
학습 목표 final과 static 제한자를 사용해 프로그래밍 할 수 있다. This를 사용해 프로그래밍 할 수 있다. 추상 클래스(abstract class)와 추상 메소드(abstract method)에 대해 설명할 수 있다. 인터페이스(interface)의 정의, 구현, 상속에 대해 설명할 수 있다. 다형성(polymorphism)에 대해 설명할 수 있다. 클래스와 오브젝트를 응용해 사용할 수 있다. 학습 내용 final과 static 제한자 final 제한자 final을 필드에 붙이면 필드는 값을 변경할 수 없음 final을 클래스에 붙이면 상속을 할 수 없음 해당 코드는 final 컴파일 에러가 발생한다. final Animal 클래스를 상속하려 했고 final int a의 값을 변경하려 했기 ..
프로젝트의 구성 src 에는 source 파일을 저장하고 실행하면 bin 폴더에 기계어로 컴파일 된 byte 코드가 class 파일의 형식으로 저장된다. 인텔리제이 설치 및 프로젝트 생성 방법 JetBrains 홈페이지 (https://www.jetbrains.com/idea/)에 접속하여 IntelliJ IDEA를 다운로드한다. 다운로드가 완료되면 설치 파일을 실행한다. 설치 과정에서는 기본 옵션으로 설치를 진행한다.. IntelliJ IDEA를 실행한 후 Create New Project를 선택한다. Project SDK를 선택한다. JDK가 설치되어 있지 않은 경우 다운로드하여 설치한다. Project name과 Project location을 입력한 후 Finish를 선택한다. 새로운 프로젝트가 ..
빌드하고 실행하기 cmd 창에서 hello-spring 파일에 들어간 뒤 gradlew.build 를 입력해준다 build 가 완료되면 build 폴더가 생성된다 해당 폴더의 libs 폴더로 들어가주자. libs 폴더의 SNAPSHOT.jar 파일을 자바 파일로 실행시켜준다. 서버가 실행된 모습 만약 서버를 배포하게 될 경우엔 해당 jar 파일만 서버에 집어넣고 실행시키면 된다.
Welcome page 만들기 main/resource/static 폴더에 index.html 파일을 만들고 다음과 같은 코드를 입력하면 localhost 의 화면이 바뀐걸 알 수 있다. 스프링 부트가 제공하는 Welcome Page 기능이다 해당 페이지는 정적 페이지로 파일을 그대로 던져준 모습이다. tymeleaf 엔진 컨트롤러를 생성해주고 HelloController 클래스를 생성해주었다. 해당 데이터를 호출하는 html 파일을 resources/templates 폴더에 생성 후 해당 코드를 입력하고 localhost 를 확인할 시 다음과 같이 컨트롤러에 입력했던 값을 호출해 오는 것을 확인할 수 있다. 동작 과정 웹 브라우저 (hello)→ 내장 톰켓서버 → helloController → mod..
스프링 기본 세팅 start.spring.io 에 접속해 다음과 같이 설정 설정 후 다운받은 파일을 압축해제 해준 뒤 인텔리제이에서 build.gradle 파일을 프로젝트로 열어준다. 테스트 코드와 자바 main 코드가 생성된 모습 프로젝트 실행 후 localhost:8080 에 접속하면 이런 창이 뜬다
학습 목표 메소드의 가변 인수에 대해 설명할 수 있다. main() 메소드의 형식과 인수 사용에 대해 설명할 수 있다. 생성자(constructor)의 정의와 사용에 대해 설명할 수 있다. 클래스의 상속에 대해 설명할 수 있다. 오버라이딩(overriding)의 의미와 사용에 대해 설명할 수 있다. 접근 제한자의 종류와 사용에 대해 설명할 수 있다. 학습 내용 메소드의 가변인수와 main() 메소드 메소드의 가변 인수 가변 인수의 메소드는 필요한 만큼 자동적으로 인수를 받을 수 있으므로, 사용자가 미리 인수의 개수를 결정할 필요가 없음. 예를 들어 System.out.println() 메소드에서는 출력하는 인수를 임의로 지정할 수 있음. 인자를 배열명으로 받아 메소드 내부에서는 배열 형태로 처리함 … 세..
학습 목표 비트별로 조작하는 비트 연산자와 시프트 연산자의 동작을 설명할 수 있다. if 문을 이용한 선택 구조에 대해 설명할 수 있다. 반복 구조인 for문, while문, do ~ while 문에 대해 설명할 수 있다. 무한 루프(loop) 오류에 대해 설명할 수 있다. Break 문, continue 문에 대해 설명할 수 있다. 다중 선택 구조인 switch 문에 대해 설명할 수 있다. 선택 정렬 프로그램을 설명할 수 있다. 학습 내용 비트(bit) 연산자 컴퓨터 내부의 데이터를 비트 단위로 비교하거나 조작할 때 사용함 정수형 데이터를 조작할 때 사용함 데이터와 비트 컴퓨터는 2진 기계이므로 모든 데이터는 2진 코드로 저장됨 2진 코드의 한 자리는 비트라고 함 비트 논리곱 & 연산 각 비트를 비교하..