Java Spring 20

[Spring] 스프링 입문 - 스프링 부트, 웹 MVC, DB 접근 기술

* Inflearn - 김영한 개발자님의 강의를 통해 공부, 실습한 내용을 정리한 포스팅입니다. 1. 이 커리큘럼에서 배우는 내용 BE 초급자를 위한 강의로, 스프링 웹 애플리케이션 구현의 기초 과정을 배울 수 있다. 개발 과정을 순차적으로 따라하며 스프링에 대해 이해하고 기초 웹 애플리케이션(회원 가입, 회원 정보 저장 기능)을 만들 수 있다. Spring 첫 사용자를 위한 기본 셋업부터 배울 수 있어서 입문하기 친절한 강의라고 생각했고, 많은 도움이 됐다. 2. JDBC를 이용한 간단한 회원 가입 사이트 구현 (Result) 스프링부트 실습 결과(video) - H2 DB를 이용하여 미리 저장된 회원 정보 확인 가능: 영상에서 작성하지 않은 1, 2, 3, 4 번 회원 이름이 미리 저장되어 있고, 영..

Java Spring 2023.05.15

9. 접근 제어자

1. 클래스 멤버에 대한 접근 제어자 접근 제어자는 클래스의 멤버(변수, 메소드) 들의 접근 권한을 지정한다. 사용자가 접근하면 안되거나, 접근할 필요가 없는 멤버들에 적절한 접근 제어자를 설정해줘야 한다. 아래 코드를 보면 public 으로 선언된 메소드는 다른 클래스에서 호출할 수 있다. 그러나 private 으로 선언된 z는 다른 클래스에서 호출할 수 없다. private은 본인이 속한 클래스 밖에서 호출하면 안되고, 클래스 내부에서만 호출이 가능하다. 이런 클래스는 내부적으로 사용하면 된다. public String x 메소드를 보면, return z(); 하는 것을 볼 수 있다. 다른 클래스에서 x를 실행하여, 해당 클래스 내부에서 z를 되돌려준다면 z를 사용할 수 있다. (아래 결과 참조) 이..

Java Spring 2023.04.03

8. Overriding & Overloading

1. Overriding 상속은 상위 클래스의 기능을 하위 클래스로 물려주지만, 하위 클래스에서 상속받은 기능을 항상 그대로 쓴다면 불편할 것이다. 하위 클래스가 상위 클래스에게 상속받은 기능을 수정할 수 있는 방법을 바로 메소드 오버라이딩(Overriding)이라고 한다. 아래 예시 코드의 결과를 보면, 상위 클래스의 sum( ) 함수가 아니라, 하위 클래스의 sum( ) 함수가 실행된 것을 볼 수 있다. class Calculator { int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.le..

Java Spring 2023.04.03

7. 상속과 생성자

1. 상속 상속은 객체 지향의 재활용성을 극대화 시킨 프로그래밍 기법이다. 상속이란, 어떤 객체가 있을 때 그 객체의 변수(필드)와 메소드를 다른 객체가 물려받을 수 있게 하는 기능이다. 기존의 객체를 유지하면서 어떤 기능을 추가하고 싶을 때 상속을 통해 자식 클래스를 만든다. 상속을 통해 코드의 중복을 제거하고(똑같은 기능을 가진 클래스를 또 만들지 않아도 된다), 기존의 부모 클래스를 개선할 경우에, 자식 클래스에도 그 혜택이 돌아간다. 결과적으로 상속의 효과는 다음과 같다. => 재활용성 증가 + 코드 중복 제거 + 유지보수 편리성 2. 생성자 기본 생성자 : 매개변수가 있는 생성자가 있을 때, 기본적으로 생성자를 만들어 주지 않는다. 없을 때는 가능하다. super ( ) : super 키워드는 ..

Java Spring 2023.04.03

6. 객체 지향 프로그래밍

1. 객체 지향 프로그래밍이란? 더 나은 프로그램을 만들기 위해 로직을 객체 중심으로 짜는 것 객체 : 상태(state) / 행위(behave) 로 이루어진 하나의 물건이라고 볼 수 있다. 객체라는 한국어 단어가 와닿지 않을 때는 just Object 라고 받아들이자. 사실은 편하고 쉬운 개념이다. 여러 가지 객체들을 조립하여 하나의 프로그램으로 만드는 것을 객체 지향 프로그래밍이라고 한다. 2. 설계와 추상화 설계 : 좋은 객체를 만들기 위해 설계가 꼭 필요하다. 설계를 잘할수록 더 나은 프로그램을 만들 수 있다. 현실의 복잡함 속에서 필요한 부분, 관점만 찾아내고 쉽게 바꾼다면 더 효율적일 것이다. 위와 같은 행위를 추상화라고 한다. 객체 지향 프로그래밍은 현실의 객체 (Object) 를 프로그래밍에..

Java Spring 2023.03.27

5. 메소드, 입출력

메소드나 객체지향과 같은 개념은 규모가 크고, 결함이 적고 유지 보수가 쉬운 프로그램을 만들기 위해 꼭 필요한 개념이다. 1. 메소드 코드를 재사용하게 해준다. 로직을 잘 짜서 활용하면 매우 경제적이다. 메소드의 정의 : 접근 제한자 (public, private), 함수 반환 타입, 함수 이름 등을 주의하여 호출한다. 메소드의 호출 : 메인 함수에 원하는 자리에 불러오면 된다. 2. 매개변수와 인자 메소드를 작성할 때, 메소드로 매개변수를 설정하고, main에서 인자를 보내면 메소드를 통해 자신이 원하는 결과를 얻을 수 있다 메소드를 다 실행하고 return 할 때, return 타입을 맞추는 것이 중요하다. return 타입은 메소드를 작성할 때 처음부터 설정해주어야 한다. 처음부터 타입을 설정하는게..

Java Spring 2023.03.27

4. 반복문, 배열

1. while while(조건) { } : 소괄호 안에 조건을 만족하는 동안 (true 인 동안) 반복문이 실행된다. 조건문을 잘못 설정하거나, while 문 내부에 루프 종료 조건을 제대로 설정해주지 않으면 에러가 발생한다. 무한루프 돌지 않게 조심할 것 2. for for (초기화 ; 종료 조건 ; 증감 등 변화 조건) { } : 소괄호 안에 쓰인 형식을 만족해야 에러가 발생하지 않는다. 초기화 부분은 반복문이 실행될 때 처음, 한 번 실행된다. 초기화 후 종료 조건이 실행되며, 이 조건이 false가 될 때 까지 반복문이 돌아간다. class Main { public static void main(String[] args) { int i = 0; while(i

Java Spring 2023.03.26

3. 비교, 조건문, 연산자

1. 연산자 산술 연산자 : 수식 계산이나 문자열 합치기 등에 사용되는 연산자. (+ - * / % 등이 있음) 형변환 : (정수 / 정수 = 정수) (실수 / 실수 = 실수) (정수 / 실수 = 실수) (실수 / 정수 = 실수) 단항 연산자 : 하나의 항을 대상으로 하는 연산자 (+ - ++ --) 등이 있으며 특히 증감을 나타내는 연산자는 많이 쓰이며, 위치에 따라서 증감의 순서가 바뀐다. println(); 에서 쓸 때 순서에 주의하자. 연산자의 우선 순위 2. 비교와 Boolean Boolean : 참과 거짓을 의미하는 데이터 타입 비교 연산자(관계 연산자) : 좌항과 우항의 대소비교를 할 때 쓰인다. .equals : 문자열 비교시에 쓰이는 메소드 class Main { public static..

Java Spring 2023.03.26

2. Data Type

더보기 1. Java의 Data Type 이전에 Python을 자주 사용해서 변수 타입을 명시적으로 선언 하는 것과 Overflow에 대해서 크게 신경쓰지 않고 있었는데, Java를 리뷰하면서 관련 개념을 혼동하지 않도록 다시 정리하겠다. Data Type Memory Range byte 1 byte -128 ~ 127 short 2 byte -32,768 ~ 32,767 int 4 byte -2,147,483,648 ~ 2,147,483,647 long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 Data Type Memory float 4 byte double 8 byte 들어 갈 수 있는 실수 Range가 너무 커서 생략했다. Dat..

Java Spring 2023.03.20

1. Java Review (by 생활 코딩)

더보기 썸네일용! 이전에 학교에서 '객체지향프로그래밍', 'Java 프로그래밍 실습'을 수강했는데, Java 코딩을 마지막으로 한 지 시간이 흘러서 Java의 문법과 특징을 전체적으로 리뷰하려고 한다. ++ 보조 자료로 생활 코딩의 Java 강의를 활용할 예정이다. 1. Java를 시작할 때 Java는 객체 지향 언어로, class가 아주 중요한 언어이다. 우선 Java 코드의 실행을 위해 class Main 을 선언하고, 그 아래 public static void main(String[] args) { }로 main 함수를 만든다. 다른 언어와 main 함수 선언, 생김새가 조금 다르므로 이 특징을 잊으면 안된다. 또한, 변수 선언을 할 때, type을 명시한다. 아래 코드에서는 두 가지 선언을 보여준..

Java Spring 2023.03.18