컴퓨터 구조의 큰 그림 데이터 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 컴퓨터와 주고받는/내부에 저장된 정보를 데이터라 통칭 0과 1로 숫자를 표현하는 방법 0과 1로 문자를 표현하는 방법 명령어 컴퓨터는 결국 명령어를 처리하는 기계 명령어 컴퓨터를 실질적으로 움직이는 정보 데이터는 명령어를 위한 일종의 재료 컴퓨터의 네 가지 핵심 부품 CPU 메모리(주기억장치. RAM, ROM 두 가지가 있지만 여기서는 RAM을 지칭) 보조기억장치 입출력장치 1. 메모리 현재 실행되는 프로그램(프로세스)의 명령어와 데이터를 저장하는 부품 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다. 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다. 메모리에 저장된 값의 위치는 주소로 알 수 있다. 2. ..
열거형(enum) 관련된 상수들을 같이 묶어 놓은 것 Java는 타입에 안전한 열거형을 제공한다.(값 & 타입 모두 체크) if(Card.CLOVER==Card.TWO)// true지만 false이어야 의미상 맞음 if(Card.Kind.CLOVER==Card.Value.TWO) {// 컴파일 에러. 타입이 달라서 비교 불가 열거형의 정의와 사용 열거형을 정의하는 방법 enum 열거형이름 { 상수명1, 상수명2, ... } 열거형 타입의 변수를 선언하고 사용하는 방법 열거형 상수의 비교에 ==와 compareTo() 사용가능 열거형의 조상 java.lang.Enum 모든 열거형은 Enum의 자손이며, 아래의 메서드를 상속받는다. values(), valueOf()는 컴파일러가 자동으로 추가 열거형에 멤버..
지네릭스(Generics) 컴파일 시 타입을 체크해 주는 기능 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 // Tv객체만 저장할 수 있는 ArrayList를 생성 ArrayList tvList = new ArrayLIst(); tvList.add(new Tv());// OK tvList.add(new Audio());// 컴파일 에러. Tv외에 다른 타입은 저장 불가 지네릭스의 장점 타입 안정성을 제공 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해짐 타입 변수 클래스를 작성할 때, Object타입 대신 타입 변수(E)를 선언해서 사용 변수 이름은 무엇을 사용해도 상관없다. (E:Element, T:Type / E 대신 T 사용가능) 타입 변수에 대입하기 객체를 생성 시, 타입 변수(E..
package com.ewok.study.springbook; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; // @SpringBootApplication 스프링부트의 자동설정, 스프링 Bean 읽기와 생성을 모두 자동으로 설정 @SpringBootApplication // @SpringBootApplication이 있는 위치부터 설정을 읽기 때문에 항상 프로젝트의 최상단에 위치 해야함 public class Application { // 프로젝트의 메인 클래스 public static void main(String[] args) { //..
문제 테스트를 작성하면서 아래와 같은 오류가 발생했다. 아래는 작성한 테스트이다. import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; impo..
위 책을 따라 스프링 부트와 AWS에 대해 배워보려고 한다. 그래들 프로젝트를 스프링 부트 프로젝트로 변경하기 학습을 위해 스프링 이니셜라이저를 통해 진행하지 않는다. build.gradle plugins { // 이 3개는 자바와 스프링부트를 사용하기 위한 필수 플러그인 id 'org.springframework.boot' version '2.4.1' // RELEASE 삭제 // 스프링 부트의 의존성들을 관리해주는 플러그인 id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java' } group 'com.ewok.study' version '1.0.4-SNAPSHOT-'+new Date().format("yyyyMMddHHmmss"..