자바 20

[스프링의 정석] HTTP 요청과 응답

1. 로컬에서의 요청과 실행 아래의 코드는 간단하게 연,월,일을 입력하면 요일을 알려주는 프로그램이다. package com.fastcampus.ch2; import java.util.Calendar; // 연, 월, 일을 입력하면 요일을 알려주는 프로그램 public class YoilTeller { public static void main(String[] args) { // 1. 입력 String year = args[0]; String month = args[1]; String day = args[2]; int yyyy = Integer.parseInt(year); int mm = Integer.parseInt(month); int dd = Integer.parseInt(day); // 2. 작업..

Programming/Spring 2021.10.27

[스프링의 정석] 개발 도구 소개

스프링의 정석 강의 수강을 위한 준비 사항입니다. * 자바의 스펙 1. SE : Standard Edition, 가장 일반적인 에디션 2. EE : Enterprise Edition, 서버용 3. ME : Micro Edition, 소형기기용 * 자바 개발 도구 : JAVA 11 버전부터 Oracle JDK가 Open JDK로 편입됨. 1. Oracle JDK 2. Open JDK * 통합개발 환경 : IDE (Integrated Development Environment) 1. STS3 : Eclipse + Spring 플러그인, STS4는 Spring boot 개발용이므로 3버전 다운로드 -> 다운로드 링크(https://github.com/spring-projects/toolsuite-distrib..

Programming/Spring 2021.10.13

[JAVA] 생성자(constructor), 자바 생성자

남궁성님의 자바의 정석 강의를 기반으로 작성했습니다. - 생성자 (Constructor) * 인스턴스가 생성될 때마다 호출되는 인스턴스 초기화 메서드 * 인스턴스 생성시 수행할 작업(IV(인스턴스 변수) 초기화)에 사용 - 생성자 규칙 * 이름이 클래스 이름과 같아야 합니다. * 리턴(return)값이 없습니다. 단, 생성자의 경우는 void를 붙이지 않습니다. 항상 반환값이 없기 때문입니다. * 모든 클래스는 반드시 한 개 이상의 생성자가 있어야 합니다. - 기본 생성자 (default constructor) * 매개 변수가 없는 생성자 * 생성자가 하나도 없을 때만, 컴파일러가 자동 추가 public class Constructor { public static void main(String[] arg..

Programming/Java 2021.10.11

[JAVA] 오버로딩(Overloading)

남궁성님의 자바의 정석을 기반으로 작성했습니다. - 오버로딩 (Overloading) : 과적하다. 한 클래스 안에 같은 이름의 메서드를 여러개 작성한 것. 대표적인 예로 Java의 println() 메서드가 있습니다. 아래의 코드처럼 println()이라는 이름으로 다양한 데이터 형에 따른 println() 로직처리를 할 수 있게 됩니다. void println() void println(boolean x) void println(int x) void println(float x) void println(double x) void println(String x) void println(Object x) void println(char x) void println(char[] x) void println..

Programming/Java 2021.10.11

[JAVA] 클래스 변수와 인스턴스 변수

남궁성님의 자바의 정석 강의를 기반으로 작성했습니다. - 선언 위치 * 클래스 영역 : 인스턴스 변수, 클래스 변수 * 메서드 영역 : 지역 변수 - 클래스 변수 : 공통적인 사항 - 인스턴스 변수 : 개별적인 사항 예. 카드에서 공통적인 사항은 카드의 폭, 높이, 두께 등, 개별적인 사항은 카드의 문양, 숫자 등이 있습니다. 이를 코드화하면 아래와 같습니다. Class Card { // 개별 속성 : 인스턴스 변수 String kind; // 카드의 무늬 int number; // 카드의 숫자 // 공통 속성 : 클래스 변수 static int width; // 폭 static int height; // 높이 } * 위 코드를 사용하는 방법 Card c = new Card(); // 객체를 생성 c.k..

Programming/Java 2021.10.08

[JAVA] 자바의 클래스

남궁성님의 자바의 정석을 기반으로 작성했습니다. - 클래스의 정의 * 설계도 * 데이터 + 함수 * 사용자 정의 타입 1. 변수 : 하나의 데이터를 저장할 수 있는 공간 2. 배열 : 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간 3. 구조체 : 서로 관련된 여러 데이터 (종류 관계 X)를 하나로 저장할 수 있는 공간 4. 클래스 : 구조체 + 함수, 즉 서로 관련있는 데이터 변수들과 관련있는 함수들의 묶음 // 비객체지향적인 코드 int hour = 12; int minute = 25; int second = 30; // 객체지향적인 코드 class Time { int hour; int minute; int second; } Time t = new Time(); t.hour = 12; t.mi..

Programming/Java 2021.10.08

[JAVA] 자바의 객체지향

남궁성님의 자바의 정석을 기반으로 합니다. * 객체지향 언어의 등장 배경 - 소프트웨어의 빠른 변화에 대응하지 못함 -> 해결책으로 객체지향언어 도입(절차형 -> 객체지향형) * 객체지향 언어의 특징 - 코드의 재사용성이 높다. - 유지보수가 용이하다. - 중복 코드 제거 * 핵심 개념 - 캡슐화, 추상화, 다형성, 정보은닉, 상속 * 클래스와 객체 - 클래스 : 객체를 정의해 놓은 것, 객체를 생성하는데 사용 - 객체 : 실제로 존재하는 것, 사물 또는 개념 - 속성(변수)과 기능(메서드)으로 이루어져있다. 예) 클래스-제품 설계도 , 객체-제품 / 클래스-붕어빵 기계, 객체-붕어빵 // 속성 예제 class Tv{ String color; // 색깔 boolean power; // 전원상태 int c..

Programming/Java 2021.10.08

[JAVA] 자바의 정석

* 자바를 배우는 이유, 자바의 특징 - 객체지향 개념을 이해하기 수월합니다. - 메모리 사용 후 반환해줘야 하는데, 자바의 가비지 콜렉터(GC)가 메모리를 알아서 정리해줍니다. - 멀티 쓰레드 지원 : 하나의 프로그램에서 여러가지 동작을 수행가능하게 해줍니다. 예) 채팅하면서 파일 전송 가능 - 라이브러리가 다양합니다. - 운영체제에 독립적입니다. 즉, 운영체제에 상관없이 프로그램이 실행가능합니다. 그 이유는 자바가상머신(JVM) 덕분입니다. 이 가상머신은 가상 컴퓨터를 의미하며, 일반 애플리케이션이 운영체제 위에서 동작하는 반면에 자바는 운영체제 위에 JVM이라는 가상 환경에서 동작하기 때문에 운영체제에 독립적일 수 있습니다. (Write Once, Run Anywhere) * 자바 API? - 자바..

Programming/Java 2021.10.05

[Spring] @Entity @Id @GeneratedValue @Column 코드 뜯기

Spring 공부를 하다보면 @ 골뱅이라 불리는 Annotation을 심심치 않게, 아니 자주 볼 수 있습니다. 성격상 이것에 대해 대충 넘긴다면 개발에 활용할 수 없을 것 같다는 생각이 들었고, 예제 코드를 작성해서 작성의도, 작성의미 등을 하나 하나 자세히 뜯어보는 포스팅을 올려보려고 합니다. 오늘 뜯어볼 코드는 @Entity, @Id, @GeneratedValue, @Column 입니다. import javax.persistence.*; import java.io.Serializable; @Entity public class User implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(nullabl..

Programming/Spring 2021.07.02

[JAVA STUDY] 3주차 : JAVA 연산자, 자바 연산자 종류

목표 자바가 제공하는 다양한 연산자에 대한 학습 학습내용 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof (객체 타입 확인) 대입 연산자 assignment(=) operator 화살표(->) 연산자 삼항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 산술 연산자 산술 연산자는 수학적인 계산에 사용되는 연산자 class Main { public static void main(String[] args) { // result 의 값은 3 int result = 1 + 2; System.out.println(result); // result 의 값은 2 result = result - 1; System.out.println(result); // resul..

Programming/Java 2021.06.07