전체 글

공부하면서 정리하는 블로그입니다. 틀린 내용이나 피드백 적극 환영합니다^^
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다. 1. 상속이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 두 클래스를 부모와 자식의 관계를 맺어주는 것 자식은 부모의 모든 멤버를 상속받는다.(생성자, 초기화블럭 제외) 상속을 사용한 2가지 경우를 살펴보자. a. 상속 사용1 class Child extends Parent { void play() { System.out.println("play~~~~"); } } class Parent { int age; } 상속을 구현하는 방법은 extends키워드만 함께 써주기만 하면 된다. Child는 Parent를 상속받기 때문에 Parent의 모든 멤버(age)를 상속 받는다. play() 메서드는 오직 Child의 멤버..
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다. this와 super를 알아보기 전에 생성자에 대해서 알아보자. 1. 생성자(Constructor)란? 인스턴스가 생성될 때 호출되는 메서드(인스턴스 초기화 메서드) 인스턴스 변수 초기화 또는 인스턴스생성시 수행할 작업에 사용 모든 클래스는 하나 이상의 생성자가 있어야 한다. 생성자 이름은 클래스 이름과 같다. 생성자는 리턴값이 없다.(void는 쓰지 않음) 접근제한자 클래스이름(매개변수) { // 수행될 코드(인스턴스 변수 초기화 등) } 2. 생성자의 종류 기본 생성자 매개변수가 없는 생성자 생성자가하나도 없으면 컴파일러가 기본 생성자를 추가한다 class Data { int value; Data() { } // 기본 생성자(..
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다. 1. 오버로딩(Overloading) 기존에 없는 새로운 메서드를 정의하는 것 메서드 명은 같지만 매개변수 타입, 개수, 순서가 다른 것 같은 클래스 내에서 적용된다. int add(int a, int b) { return a + b; } int add(int a, int b, int c) { return a + b + c; } int add(int x, int y) { return x + y; } // 매개변수의 식별자만 다른 경우 => 오버로딩 x short add(int a, int b) {return a + b; } // 반환 타입이 다른 경우 => 오버로딩 a. 가변인자 오버로딩 기존에는 메서드의 매개변수가 고정적이었으나..
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다. 1. 매개변수를 전달하는 방법 Java에서 메서드 매개변수를 전달할 때 두가지 방법이 있다. 기본타입을 매개변수로 넘기는 경우 이를 Call by Value라고 하고, 참조타입을 넘기는 경우 Call by Reference라고 한다. Call by Value Call by Reference 2. Call by Value Call by Value는 값에 의한 전달을 뜻한다. Call by Value는 단순히 변수의 값만 읽어 올 수 가 있어 변수의 값을 변경 할 수 없다.(Read Only) public class Class1 { public static void main(String[] args) { int a = 9; set(a..
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다. 1. JVM(Java Virtual Machine) 구조와 동작방식 Java 소스파일(.java) 개발자가 작성한 Java 소스코드 파일이다. Java 바이트코드(.class) Java 컴파일러(javac)가 Java 소스코드 파일을 Java 바이트코드로 컴파일한다. Class Loader(클래스 로더) Java는 클래스를 동적으로 로딩합니다. 클래스로더가 바이트코드(.class)들을 읽어서 필요 시점에 동적으로 Runtime Data Area 영역에 동적 적재한다. Execution Engine(실행엔진) 클래스 로더를 통해 Runtime Data Area 에 배치된 바이트코드를 읽어서 명령어 단위로 해석하고 바이트 코드를 실제..
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다. 1. 배열이란? 동일한 자료형을 연속된 메모리 공간에 순차적으로 저장하기 위한 자료구조 2. 배열 선언 및 초기화 배열의 크기가 N이라고 하면 index는 0 ~ N - 1까지 사용 // 저장할 데이터를 모를 때 자료형[] 변수명 = new 자료형[크기]; // 저장할 데이터를 알고 있을 때 자료형[] 변수명 = {데이터1, 데이터2, 데이터3, ... }; 3. 다차원 배열 차수의 크기를 모두 같게 지정 int[][] arr1 = new int[5][3]; 첫번째 차수의 크기만 지정한 후 나머지 차수는 서로 다르게 지정 int[][] arr2 = new int[5][]; arr2[0] = new int[4]; arr2[1] = ..
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다. 1. 조건문 자바에서 조건문은 if, switch문 두 가지 뿐이다. if문은 위에서 아래로 순차적으로 조건식을 확인하는 반면, switch case 문은 해당되는 경우를 바로 찾아서 실행문을 실행시켜준다. switch-case는 정수, 문자, 문자열 형태만 가능하여, 정수로 값이 떨어지고 비교하려는 조건이 많아지면 swith-case를 사용하는 것이 성능면에서는 좋다. // if 문 if(조건식1) { // 조건식1이 true일 때 실행 } else if(조건식2) { // 조건식2이 true일 때 실행 } else { // 위의 모든 조건식이 fasle 일 때 실행 } // switch-case 문 switch (ch) { c..
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다. 1. 변수(Variable) 변수란 데이터를 저장할 수 있는 메모리 공간을 의미 변수를 메모리의 어디에 저장하고 어떤 방식으로 저장할지는 프로그래밍 언어와 운영체제가 정하는데, 자바의 경우 JVM이 하게 된다. 2. 명명 규칙 대소문자가 구분된다. 길이에 제한이 없다. 예약어를 사용해서는 안된다. 숫자로 시작해서 안 된다. 특수문자는 “ _ ”, “ $ ” 만 사용 가능 3. 명명 규칙(권장사항) 한글 등 사용 x (오류 잡기가 힘듦) 클래스 이름의 첫 글자는 항상 대문자 Person, String 변수, 메서드 이름은 항상 소문자 getInfo(), age 여러 단어의 경우 첫글자는 대문자 lastIndexOf(), String..
· CS
1. Session과 Cookie를 사용하는 이유? HTTP 특징 클라이언트 - 서버 모델(클라이언트가 요청을 보내면 서버는 응답) 무상태 프로토콜(Stateless): 요청-응답이 끝나면 연결 끊음 서버가 클라이언트 상태를 유지하지 않음 Keep-Alive 속성 사용 특정 시간동안 연결을 유지할 수는 있다. 비연결성(Connectionless) 서버가 클라이언트 요청에 대해 응답을 마치면 맺었던 연결을 끊어 버림 해결책: 쿠키(클라이언트에 정보 저장), 세션(서버에 정보 저장), JWT HTTP는 statelsess 와 Connectionless 하기 때문에 한번 통신하고 나면 연결이 끊어진다. Session과 Cookie를 통해 서버는 클라이언트와 정보를 유지할 수 있다. 2. Session이란? 클..
개요 The dependencies of some of the beans in the application context form a cycle: ┌─────┐ | principalOauth2UserService (field private org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder com.cos.security1.config.outh.PrincipalOauth2UserService.bCryptPasswordEncoder) ↑ ↓ | securityConfig defined in file [E:\\Project\\SpringWebStudy\\security1\\out\\production\\classes\\com\\cos\\secur..
kmindev
평생쓰는 IT 개발 노트