GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

분류 전체보기 171

Modifier - 접근제어자 / static / final / +싱글톤

- 클래스, 변수, 메소드, 생성자를 선언할 때 앞에 붙어서 "접근가능한 범위" / "활용방법" 을 지정해주는 예약어들 클래스 변수 메소드 생성자 1. 접근제어자 public o o o o protected x o o o private x o o o - 다른 클래스의 변수나 메소드 등을 가져와서 사용할 때, 그 클래스 객체를 만들어서 사용하고자 할때도, 제한이 있다. => " 접근제어자 " private - 현재 클래스 내부에서만 사용 가능 / 객체 만들어도 못가져옴 => 쓰고싶으면 메소드로 가져가라 default(패키지상태) - 현재 클래스 + 현재 패키지 내부 사용 가능 protected - 현재 클래스 + 현재패키지 + 다른 패키지에서 상속받은 클래스 public - 무제한...

Back to the Java 2022.06.23

참조형 DataType, Stack 과 Heap 메모리 저장

1. 기본형 데이터타입 - 메모리타입과 크기 정해져있음 boolean char int(byte short long) double(float) 2. 참조형 데이터타입 String / 배열 1> 저장 특정 위치 - 주소(번지) 지정 불가 / 알 수없다. 2> heap 영역 데이터 필요없으면 ( s; 처럼 사용하고난 후 이제 안씀 ) =>메모리 자동정리 ( Garbage Collection ) 3> 자바의 모든 변수들은 stack 에 저장한다. 단, stack 에 들어가는 변수가 참조형 변수 일 경우, 주소만 stack에 저장하고, 실제 데이터는 heap 에 저장한다. => 변수 선언 순서대로 저장 // 고정된 크기..

Back to the Java 2022.06.22

while + true + if + break; 조건 나중에 주기!

int dice1; int dice2; int dicesum; while (dicesum != 5){ dice1 = 1; dice2 = 2; dicesum = dice1 + dice2; } 변수 값을 어디에서 선언하는지는 매우 중요하다. 위의 경우, 반복문 바깥에서 변수들을 선언만 했고, while 의 조건으로 가져온 dicesum 은 구체적 값이 나중에 정해지기 때문에, (아직 null 인 상태) 조건을 줄 때 사용할 수가 없다. do-while 문의 경우엔 do { } 문에서 여러 변수들의 값이 구체적으로 선언 된 이후에 while 조건을 정하기 때문에 조건을 줄 때 그나마 편하게 변수들을 사용할 수 있다. 하지만 무조건 최소 한 번은 실행되는 do-while 문의 특성. (조건을 충족했던 안했던) ..

Back to the Java 2022.06.22

Back to the Basic 기본을 다잡자 2

java ME (Mobile environment ) => android , 모바일 java SE (Standard environment ) => desk top 환경 -> java application 이용 / 반드시 main 메소드 이용 / java EE (Enterprise environment ) => 웹서버환경 자바실행 / sevlet jsp spring mvc / jdk + 웹서버tool / - else 에는 "if 가 아니다" 뜻이 포함이 되있다. if (grade >= 90) { System.out.println(grade + "점으로 A 입니다."); } else if (grade >= 80 && grade < 90) { // 이때, else 라는 뜻에 90이상이 아니라는..

Back to the Java 2022.06.21

Back to the Basic 기본을 다잡자

int a= 100; int b = 200; sout ( " result =" + a + b ); => result=100200 // 왼쪽부터 더해서 result=100 문자열이 되버리고 거기에 200이 더해짐 => 괄호처리 필요 char c1 = 'A'; sout ( 100 + c1 ) ; => 165 ( 100 + 65 ) // A라는 char 는 표현코드값이 숫자로 65다. ( B는 66 C는 67 . . . ) // 더하라고하면, c1 을 자동형변환 해서 숫자로 바꿔서 더해버림 => 자동형변환 sout ( a + "" + c1) => 100A 출력 . // "" 이용해서 구분해서 출력 가능하다 < ..

Back to the Java 2022.06.21

변수 { id } 를 품은 URL

변수를 품은 URL @GetMapping("/board/ { id }/" ) => { id } @PathVariable < - 변수URL 값을 파라미터로 가져오겠다. Optional boardEntity = boardrepository . findById(id); // 입력받을 변수URL을 pk값처럼 사용 // repository . find 해서 찾은 객체를 Entity 에 넣기 ( DB에서 data 가져오는건 Repository 역할 ) 이 Entity 를 VIEW 에 뿌려주면 되는데, 그러려면 Model 이 필요함 public String show( @PathVari Long id , Mode..

Back to the Spring 2022.06.15

세션 VS JWT(토큰) .Feat 쿠키

사용자 인증이 필요할 때 (Authentication) 서버와 DB 는 사용자에게 일종의 ID 구별자를 줘서 해당 사용자님이 맞음을 인증 해줘야 한다. 일단 HTTP 는 stateless 한 특성을 지닌다. 사용자가 서버로 보내는 모든 요청들은 서로 독립적이고 (Indenpendent) 연결점이 없다. 즉, 매 요청이 끝나면 서버는 기억상실에 걸려 같은 사용자가 다음 요청을 보내면 "근데 누구셨더라..?" 가 된다. 이때, 서버한테 정신줄 꽉 잡고 기억좀 하라고 계속 사용자 정보를 알려주는게 바로 Session 이다. 처음 사용자가 서버에 요청을 보내면, 서버는 사용자 정보를 Session DB 에 보내고, Session DB는 별도의 Session ID 를 만들어 서버를 통해 사용자에게 돌려보내며 '낙..

Back to the Spring 2022.06.12

OOP 객체를 지향하는 프로그래밍을 지향하자

객체를 지향한다. 객체를 지향 안하면? 수많은 중복 코드들 복잡해지는 로직들 중요한 data들을 숨기기는 어려워질것이다. 이렇게 중복되어 사용되는 data 들. 메소드 로직들. 이러한 것들을 '클래스' 라는 공장을 통해 "객체"에 담는다. 최대한 객체로 만든다. 그리고 필요할때마다, data와 기능이 담긴 이 "객체"를 꺼내서 쓴다. ( Object, Instance ) 중복코드가 줄어들고 스펠링 오류 문제가 줄어들고 코드의 재사용성도 훌륭해지고 수정할 일이 있을 땐, 객체로 한방에 data에는 접근권한을 줘서 숨기기도 가능해진다. 객체를 지향할 수 밖에 없다. 객체님의 훌륭한 기능 4가지도 짧게 찬양해보자. 1. Encapsulation 캡슐화 (1) 묶기 데이터 ( 이름, 재산, 월급 ) Method..

Back to the Java 2022.06.12