본문 바로가기

🌱JAVA

(47)
Controller 관련 어노테이션 정리 # Controller 관련 어노테이션 정리 Restful API를 구현하기 위한 메소드는 아래와 같다. GET: 리소스를 조회한다. POST: 리소스를 생성한다. PUT: 리소스를 교체한다. DELETE: 리소스를 삭제한다. PATCH: 리소스를 업데이트한다. * 여기서 PUT과 PATCH 의 차이는 아래와 같다. PUT은 기존 데이터를 요청된 데이터로 교체하고 PATHC는 요청된 데이터만 업데이트를 한다. # Controller 관련 어노테이션은 아래와 같다. 어노테이션 설명 @RestController 기존의 MVC 패턴이 아닌 Rest API 구현을 위한 컨트롤러를 선언한다. @Controller + @RequestBody 기능을 제공. @Controller MVC 패턴 방식을 위해 제공하는 어노..
🔖 리턴(return)정리 # 리턴의 대한 정리 - 리턴이 참 이해가 안됨 (머리가 나빠서 그런거 같음.) - 그래서 명확하게 정리를 해보자. 정리: 1번이란 메소드를 호출하고 결과값을 호출한 곳에서 돌려 받고자 할때, return문에 의해서 결과가 리턴된다. 1번이란 메소드 실행 중 if ~ 어쩌고 저쩌구 문에서 해당 조건이 부합 했을때, return문에 의해서 해당 메소드를 빠져 나온다. # 리턴이란 두가지 케이스에서 사용되는걸 기억 해야한다. 1. 클래스내의 어떤 메소드가 실행되고 해당 메소드 실행에 따라 나온 값을 호출한 곳에서 돌려 받고자 할때 2. 해당 메소드 실행중 특정 조건에 따라 해당 메소드의 진행을 멈추고 빠져나올때 # 예제코드 - 간단한 개념인데 왜자꾸 까먹지? 그림으로 남겨놓자. - 멤버 변수는 클래스 내의 ..
인터페이스 개념 이해하기 # 인터페이스란? 인터페이스란 상호 작용을 위한 표준 규격이라고 이해하면 쉽다.아래의 예시를 보면, 스마트홈 서비스가 있다고 가정하면 가정에서 쓰이는 모든 가전제품은 하나의 시스템으로 연결되어 쌍방향 통신이 이루어 져야 한다. 스마트홈 서버가 가전을 제어하기 위해서는 가전 제품과 홈 서버 사이에는 일종의 표준 규격이 존재 해야한다.자바에서는 이러한 표준 규격을 인터페이스 라고 한다. # 인터페이스에 대한 개념을 이해한다. - 인터페이스 구현의 장점? 1. 인터페이그 구현 설계를 통해 보다 명확한 프로그램의 구성이 가능해 진다. 2. 서로다른 객체에게 연관관계를 부여할 수 있다. (업 캐스팅 가능 : 자식 객체를 부모의 타입으로 해석) # 인터페이스의 구현? - 인터페이스란 일종의 역할을 의미한다. 예를 ..
상속과 Extends 알아보기 # 상속 상속이란 기존 클래스를 확장하는 개념이다. 기존 클래스의 필드와 메소드를 물려받아 사용할 수 있는 개념이다. 이러한 상속을 사용하면 코드의 중복을 줄일수 있고, 보다 쉽게 확장해 나갈수 있다. # 코드로 예시 확인 먼저 Novice (부모 클래스) 클래스를 생성한다. class Novice { private String name; private int hp; public void punch() { System.out.println("펀치!!"); } } 다음으로 Wizard (자식 클래스) 클래스를 생성한다. 해당 클래스는 extends 명령어를 통해 Novice의 name과 hp 그리고 punch() 메소드를 물려받게 된다. 그리고 필드 mp와 메소드 fireball을 적어준다. 이렇게 기존 ..
Long 타입의 데이터를 String 타입으로 형 변환 1. valueOf long val = 100000000L; String s = String.valueOf(val); System.out.println(s); valueOf는 문자열 형을 Wrapper형으로 변환할 때 사용. ex) Integer i = Integer.valueOf("1234567890"); Long l = Long.valueOf("1234567890"); 2. Wrapper Class String s = Long.toString(val); 문자열 형을 int, Long형으로 변환할 때는 int i = Integer.parseInt("1324567890"); long l = Long.parseLong("1234567890");
내 마음대로 API 개발하기 # 시나리오 작성 1. 사용자가 가입을 하면 random 함수 1백만개의 숫자중 1개의 고유한 값을 user테이블에 insert 한다. 2. userid와 1백만개의 숫자를 조합하여 인증 테이블에 insert 한다. - 시나리오를 억지러 만드니까 산으로 가는 느낌은 있는데 해보자. ㅋㅋ 1. 사용자가 가입을 하면 random함수 백만개중 1개의 고유값을 user테이블 fixed_value값에 insert 한다. - 컨트롤러는 변경이 없다. /** * 시나리오 * 1. userid 값이 하나씩 증가하면서 입력 될때, 1백만개의 숫자중 1개의 값을 fixed_value 라는 컬럼에 자동으로 입력되도록 한다. * 2. userid와 1백만개의 숫자를 조합하여 인증 테이블에 insert 한다. */ @PostM..
Insert 시 PK 값을 자동으로 늘려주는 API # 특정 값을 Insert 시 PK 값을 자동으로 늘리면서 Insert 하는 API # Controller /** * 시나리오 * 1. 만약 user_table 의 userid=1, username 이 김승현 인 경우 * 2. userid값이 하나씩 증가하며 입력한 내용을 Insert하는 API이다. */ @PostMapping("/apply_some_data_save") public GeneralResponse apply_some_data_save(@RequestParam(value = "userid") Long userid, @RequestParam(value = "published") Boolean published, @RequestParam(value = "user_description") Str..
접근 제한자 Getter, Setter # 접근 제한자의 4가지 종류 # 예시 - 은행 계좌를 예를들어 보면 아래와 같다. number, password, balance라는 세가지의 정보가 있을경우 계좌번호는 공개해도 되기 때문에 public으로 설정하고 나머지 경우는 공개하지 않아야 하기 때문에 private 으로 설정한다. public number private password private balance # Getter와 Setter 사용 방법 - private으로 선언된 필드는 모든 사용자의 접근을 차단하기 때문에 우회하여 접근가능 하도록 설정 해야한다. - 그때 필요한 방법이 Getter와 Setter를 이용하여 접근을 하는 것이다. # 사용방법 게터 메소드 (getter methods) : private 필드를 반환 (get) 세터..