스프링 웹 개발 기초 정적 컨텐츠: 관련 컨트롤러가 없어 바로 관련 html을 클라이언트에 넘겨줌 (우선순위 최하위) MVC: 컨트롤러가 (사용자에게 데이터를 받고) 모델에 처리한 후 뷰 리솔버가 이를 반영한 html을 클라에 넘겨줌 API: 컨트롤러가 (사용자에게 데이터를 받고) 이를 넘겨받은 HttpMessageConverter가 문자나 객체를 http body에 직접 넣어 클라에 보내줌 일반적인 웹 애플리케이션 계층 구조 테스트 케이스 작성 (단위 테스트) main 메소드나 컨트롤러에서 눈으로 보는 테스트보다 테스트 파일을 따로 만들어 프레임워크를 활용하기 테스트 순서에 의존관계가 있지 않게 @AfterEach로 db 초기화, @BeforeEach로 객체 새로 생성 및 DI Assertions.as..
변수, 메소드, 클래스, 인스턴스로 중복을 제거하고 가독성을 높혀 코드의 유지보수에 획기적인 향상 접근 제어자(access modifier) public이 붙은 멤버는 외부 클래스에서 사용가능 private이 붙은 멤버는 외부 클래스에서 사용 불가능, 멤버가 속한 클래스 내부에서는 사용 가능 default이 붙은 멤버는 해당 멤버를 선언한 클래스가 속한 패키지의 모든 멤버가 접근 가능 protected: 이 멤버를 선언한 클래스의 멤버 이 멤버를 선언한 클래스가 속한 패키지의 멤버 이 멤버를 선언한 클래그를 상속받은 자식 클래스의 멤버 http://www.tcpschool.com/java/java_modifier_accessModifier 기타 제어자 final: 변수(상수 취급), 메소드(오버라이딩 불..
UI: 프로그램과 사용자 사이 API: 프로그램과 프로그램 사이 자바 문서 보기: api documentation java (version) 검색 클래스: 서로 관련있는 변수와 메소드의 집합 변수 = 필드 = 멤버 변수: 속성 생성자: 객체 초기화 메소드: 기능 패키지: 서로 관련있는 클래스들의 집합 인스턴스: 다양한 기능을 가진 클래스 복제하여 따로 관리 상속: 만들어진 클래스 확장, 변형하여 새롭게 클래스를 만듦 출처: JAVA1 - YouTube
프로그래밍: 시간 순서대로 명령을 내려 복잡한 과정 자동화 이클립스의 디버깅 툴을 이용 외부 모듈 사용: import 메인 메소드의 args 매개변수를 활용해 사용자의 입력값을 받을 수 있음 이클립스에서는 해당 파일의 run configurations의 arguments 탭에서 ""와 띄어쓰기로 구분하여 args 배열에 삽입 configuration 창에서 파일 이름 옆에 삽입한 인자 정보도 넣어 관리하기 편하게 함 윈도우에서 이클립스 없어도 cmd 프로그램에서 javac 활용해 컴파일 및 java 활용해 실행 가능 java, javac가 내 현재 디렉토리와 관계없이 실행되는 이유는 환경변수(PATH) 때문 // Program.java 컴파일 javac Program.java // JVM이 컴파일된 프로..
sysout 하고 ctrl + space하면 println문구 자동완성 소스코드: https://github.com/egoing/java1/tree/master/Data_and_operation GitHub - egoing/java1 Contribute to egoing/java1 development by creating an account on GitHub. github.com // float -> int casting int e = (int) 1.1; // 자동 캐스팅 double b = 1; 출처: JAVA1 - YouTube
1. 데스크탑 어플리케이션 2. 사물인터넷: 자바로 라즈베리파이 제어 3. 안드로이드 어플리케이션 출처: JAVA1 - YouTube
자바 프로젝트명과 동일한 클래스를 찾아 그 안의 약속된 메인 메소드 안의 코드를 실행하도록 설계되어있음 .java 파일을 생성해 코드를 작성 후 저장하면 .class 확장자 파일로 컴파일함 해당 강의에서는 소스코드와 컴파일한 코드를 모두 한 폴더에 저장 자바 플레이그라운드 강의에서는 따로 저장하고, src에 클래스 직접 생성 자바의 동작 원리 출처: JAVA1 - YouTube
사용할 클래스를 미리 써놓고 ctrl + shift + m 하면 자동으로 클래스 임포트 자동 정렬: ctrl + shift + f 두 수의 합 키보드로 입력받아 화면에 출력하는 프로그램 // 내 풀이 package calendar; import java.util.Scanner; public class Sum { public static void main(String[] args) { System.out.println("두 수를 입력하세요: "); Scanner input = new Scanner(System.in); String nums = input.nextLine(); String[] num = nums.split(" "); int num1 = Integer.parseInt(num[0]); int n..
요구사항 1 사용자가 입력한 값에 따라 크기가 다른 구구단을 계산해 출력한다. 예를 들어 사용자가 8을 입력하면 팔팔단, 19를 입력하면 십구십구단(2 * 1에서 19 * 19)을 계산해 출력한다. 이 요구사항은 앞의 실습을 소화했으면 구현할 수 있기 때문에 생략한다. 요구사항 2 사용자가 입력한 값에 따라 크기가 다른 구구단을 계산해 출력한다. 예를 들어 사용자가 "8,7"과 같은 문자열을 입력하면 팔칠단을 구현한다. 팔칠단은 2 * 1 ... 2 * 7, 3 * 1 ... 3 * 7, ... , 8 * 1 ... 8 * 7 까지 구현하는 것을 의미한다. // Gugudan class public class Gugudan { public static int[] calculate(int first, in..
배열 활용 public class Gugudan { public static void main(String[] args) { int result[] = new int[9]; // 계산 결과 배열에 저장 for (int i = 0; i < result.length; i++) { result[i] = 2 * (i + 1); } // 배열에 저장된 값 출력 for (int i = 0; i < result.length; i++) { System.out.println(result[i]); } result = new int[9]; // 계산 결과 배열에 저장 for (int i = 0; i < result.length; i++) { result[i] = 3 * (i + 1); } // 배열에 저장된 값 출력 for..