간단한 앱을 만들어보겠습니다. 내가 팔고 싶은 물건이 있을 때 그 물건의 10%는 부가가치세를 내야합니다. 그 물건의 부가가치세가 얼마인지 알려주는 앱을 만들어 보겠습니다. package myjava; public class AccountingApp { public static void main(String[] args) { System.out.println("Value of supply : " + 10000.0); System.out.println("VAT : " + (10000.0 * 0.1)); } } 부가가치세는 10% 이므로 물건 값에 0.1을 곱해주면 얼마인지 알 수 있습니다. package myjava; public class AccountingApp { public static void m..
클래스의 상속관계 클래스 간에는 서로 계층적인 관계를 갖고 있을 수 있습니다. 지난 시간에 사용했던 PrintWriter 객체의 설명서를 보면 아래와 같이 나타나 있습니다. 들여쓰기되어 표현된 각각의 클래스 간의 관계는 상속 관계를 나타냅니다. PrintWriter 클래스는 Writer 클래스에서 상속을 받았고, Writer 클래스는 Object 클래스로부터 상속을 받았다는 것을 나타냅니다. 자식에 해당하는 클래스는 부모에 해당하는 클래스의 모든 변수와 메소드를 사용할 수 있습니다. PrintWriter는 Writer를 확장해서 만들어진 클래스이고, Writer는 Object를 확장해서 만들어진 클래스입니다. 그래서 PrintWriter 클래스는 Writer의 write 메소드를 사용할 수 있고, Obj..
인스턴스(Instance)는 클래스를 컴퓨터 상에서 실체화한 것입니다. import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; public class InstanceApp { public static void main(String[] args) throws IOException{ PrintWriter p1 = new PrintWriter("result1.txt"); p1.write("hi 1"); p1.close(); PrintWriter p2 = new PrintWriter("result2.txt"); p2.write("hi 2"); p2.close(); } } 를 생성해주면 hi 1, hi..
자바는 운영체제 위에 설치되어 있습니다. 이 자바를 이용해서 나만의 프로그램을 만들 수 있습니다. 자바는 우리들이 보다 쉽게 프로그램을 만들 수 있게 여러 부품을 제공하는데, 화면을 출력하게 도와주는 System 객체를 비롯하여 Date, Math, PrintWriter 등 다양한 도구들이 있습니다. 자바 프로그램을 만들 때에는 도구들을 응용해서 우리가 원하는 시간의 순서에 따라 작동됩니다. 자바가 기본적으로 동작하는 조작방법을 API(Application Programming Interface) 라고 부릅니다. 이 때 사용자가 사용할 수 있도록 만들어둔 장치들을 UI(User Interface)라고 합니다. 자바의 API는 공식홈페이지에서 제공되는 기본 라이브러리를 볼 수 있습니다. 왼쪽위에는 패키지(..
변수(variable) 이란 수식에 따라 변하는 값입니다. 자바에서 변수를 만드는 법에 대해 학습해 보겠습니다. public class Variable { public static void main(String[] args) { int a = 1; // 정수 ... -2, -1 , 0, 1, 2 ... System.out.println(a); double b = 1.1; // 실수 ... -2.0, -1.0, 0, 1.0, 2.0 ... System.out.println(b); String c = "Hello World"; // 문자열 System.out.println(c); } } 정수 데이터는 Integer, 즉 int 데이터 타입입니다. int a = 1; 그래서 자바에서 정수 데이터를 변수로 만들..
@GetMapping("hello-api") @ResponseBody public Hello helloApi(@RequestParam("name") String name) { Hello hello = new Hello(); hello.setName(name); return hello; } static class Hello { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } 저번 시간엔 MVC 방식에서 뷰를 이용해서 템플릿을 끌어와 html에 넘겨주는 방법을 했었다. 이번 시간에는 API를 쓰는 방법을 써보겠다. @GetMapping("hell..
현재의 벡엔드 개발은 MVC : Model, View, Controller 방식으로 개발을 한다. 컨트롤러는 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. (예: 워드 프로세서에서 문서를 편집하는 것) 또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다. (문서를 스크롤하는 것) 모델은 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다. 어떤 MVC 구현에서는 통보 대신 뷰나 컨트롤러가 직접 모델의 상태를 읽어 오기도 한다. 뷰는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다. 이번에는 직접 컨트롤..
기존의 run server:80를 해주면 같은 아무것도 없는 에러페이지가 나온다. 이번에는 View기능을 통해 welcomePage를 만들어보겠다. 안녕하세요. spring /resources/static/index.html 로 설정해두면 첫 화면이 흰바탕에 '안녕하세요. spring'으로 나타날 것이다. 이 페이지는 html을 그냥 서버에 올려준 정적 페이지이다. 스프링은 워낙에 방대한 양을 담고 있기에 구현 방법을 찾는게 중요하다. 정보가 필요하면 공식페이지에서 정보를 찾도록 하자. 이번에는 정적인 페이지가 아닌 동작하고 프로그래밍된 화면을 만들어 보겠다. hello.hellospring 하위에 새 패키지를 만들어주자. package hello.hellospring.controller; import ..
- Total
- Today
- Yesterday