Java14 @RequiredArgsConstructor 스프링 부트(Spring Boot)에서 의존성 주입을 위해 흔히 사용되는 방법 중 하나는 @Autowired 애너테이션을 사용하는 것입니다.그러나 @RequiredArgsConstructor 애너테이션을 활용하면 @Autowired를 생략할 수 있습니다. @Autowired 사용@Autowired는 스프링 프레임워크에서 제공하는 애너테이션으로, 필드, 생성자 또는 메서드에 붙여 의존성을 자동으로 주입할 수 있습니다. 주로 다음과 같은 방식으로 사용됩니다 @Servicepublic class MyService { @Autowired private MyRepository myRepository; // 다른 코드 생략}위 예제에서 @Autowired는 MyRepository 타입의 빈을 my.. Java 2024. 5. 27. 22/05/30 JAVA (인터페이스, 스태틱) 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념이다. 조금 더 유식하게 말하면, 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 인터페이스를 사용한다 인터페이스를 쓸때는 선언을 상위 클래스 형식으로 해줘야한다. 클래스를 인터페이스로 만들어준다. 먼저 hmdi라는 인터페이스 클레스를 만들어서 클래스와 클래스 사이를 연결해줄 메소드를 만들어준다. 이때 메소드는 일반 메소드와는 다르게 추상메소드를 써줘야한다. 차이점이라고 하면 몸체(중괄호)가 없다. hdmi인터페이스 클래스에서 상속을받으려면 인터페이스 클래스가아닌 일반 클래스로 만들어 implement를 써서 hdmi에서 상속을 받아줘야, 인터페이스 메소드를 쓸수가 있다... Java 2022. 6. 11. 22/05/30 JAVA (추상 클래스, 메소드) 자바에서는 하나 이상의 추상 메소드를 포함하는 클래스를 가리켜 추상 클래스(abstract class)라고 합니다. -특징- * 1. 클래스 type 앞에 abstract 키워드가 붙는다. * 2. 추상 클래스는 생성할 수 없다. (new를 할수없다 단순히 설계 역할만 한다.) * 3. 추상 메소드를 포함 할 수 있다. 하지만 추상 메소드를 꼭 포함하지는 않아도 된다. 추상 메소드(abstract method)란 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드를 의미한다. 자바에서 추상 메소드를 선언하여 사용하는 목적은 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위함이다. 추상메소드를 쓰려면 반드시 return type 앞에 abstract를.. Java 2022. 6. 3. 22/05/27 JAVA (class - 상속, 오버라이딩, 다형성) 상속이란? 쉽게 말해 부모 클래스(상위 클래스)와 자식 클래스(하위 클래스)가 있으며, 자식 클래스는 부모 클래스를 선택해서, 그 부모의 멤버를 상속받아 그대로 쓸 수 있게 된다. 상속을 하는 이유는 간단하다. 이미 마련되어 있던 클래스를 재사용해서 만들 수 있기 때문에 효율적이고, 개발 시간을 줄여주게 때문이다. 상속을 하더라도 자식 클래스가 부모의 모든 것들을 물려받는 것은 아니다. 부모 클래스의 private 접근 제한을 갖는 필드 및 메소드는 자식이 물려받을 수 없다. (priavate = 공유가 안됨) 부모와 자식 클래스가 서로 다른 패키지에 있다면, 부모의 default 접근 제한을 갖는 필드 및 메소드도 자식이 물려받을 수 없다 (default 접근 제한은 ‘같은 패키지에 있는 클래스’만 접.. Java 2022. 5. 29. 22/05/26 JAVA (12DAY) 배열이란 즉, 동일한(같은) 자료형의 데이터를 연속된 공간 안에 저장하기 위한 자료구조이다. 쉽게 생각하면 연관된 데이터를 그룹화하여 묶어준다고 생각하면된다 연관된 데이터를 저장하기 위한 변수의 선언을 최소하시켜, 반복문을 사용하여 쉽게 처리 할수있다. 배열을 선언하는 방법은 크게 2가지가 있다. 1. 배열안에 값이 주어져있을때 자료형[] 변수 = {데이터1, 데이터2, 데이터3, ... }; 이런 형태일때 반복문을 돌려서 numbers배열안에 있는 데이터 값을 i에 순차적으로 대입을 시켜 출력하는 방법이 있다. 2. 배열의 공간을 제한을 두지않는 방법 size라는 변수를 초기화 시켜 배열을 생성할때 정수값이 아닌 초기화된 size변수값을 넣어준다. 그이후에 반복 100번을 돌려주면서 i값이 0이 아니고.. Java 2022. 5. 29. 22/05/25JAVA (DAY11) Usersevice class를 import를해서 repsitory class에 불러와준다 (꼭 public class안에서 불러와줘야한다.) 보통은 공유를 하기위해 public를 써주지만 private를 앞에 캡슐화 시켜준다 그이유는 이 Usersevice를 불러와서 repository안에서 사용하기 위해서이다 다른곳에서는 사용하면 안되기 때문이다. 그래서 private를 써서 감싸줘야한다. 위에서 클래스를 전역으로 빼준거라고 생각하면된다. 하지만 같은 클래스안에서만 사용이 가능하다. UserManageMentControllerA()를 호출하면 생성자를 생성하게된다. 클래스가 생성이되면 순차적으로 creatUser()를 호출하게된다. User private Usersevice userSevice; : .. Java 2022. 5. 28. 22/05/24JAVA (DAY10) public : 어느 클래스에서도 접근이 가능하다 즉, 메소드를 어느 클래스에서도 불러올 수 가 있다. protected : 같은 패키지 내에서 접근이 가능하고 다른 패키지에서도 상속을 받은 클래스 내부에서는 사용이 가능하다. public과 다른점이라면 다른 패키지의 자식 클래스 외부에서는 접근할 수 없다는 것이다. default (package private) : 같은 패키지 내에서만 접근이 가능하다. 아무런 접근 지정자도 없을 경우 이 옵션이 자동으로 적용이 된다. private : 동일 클래스 내에서만 접근이 가능한 가장 낮은 단계의 자유도를 갖는다. (캡슐화) 지금까지 객체나 클래스의 변수나 메소드를 직접 접근하는 프로그래밍을 했다 하지만 이러한 방법은 위험한 것이다. 왜냐면, 모두가 접근이 가능.. Java 2022. 5. 26. 22/05/20JAVA (DAY08) 함수명을 지어줄때는 동사로 지어주어야 나중에 구분하기가 편하다 public static int calcFormulal(int a, ....); 괄호 안에는 int가 들어가면 함수명 앞에 자료형을 일치(int)시켜 주어야한다. 그다음으로는 변수를 하나 만들어주어 연산식을 넣어준다. 연산되서 나오는 값을 result(변수)엔 대입을 시켜주고 그 대입시켜준 result값을 return을 시켜준다. public static에서 메소드를 만들어주고 메인에서 출력을 해준다. a,b,c,d,e에 입력한 값을 대입을 할수있도록 자료형을 맞추고 입력을 시켜준다. r1,r2, r3, r4에 위에서 메소드를 만들때 Java 2022. 5. 26. 22/05/23 JAVA (DAY09) 객체지향(OOP : Object-Priented Programming) --> 객체란 세상에 존재하는 모든 것을 의미 즉, 주변의 사물, 생명 등을 만한다. 프로그래밍 관점에서는 객체들의 관계성을 사용하여 순차적으로 수행되는 프로그램 내에서 객체들 간에 관계를 형성하여 프로그램을 동작하한다. 객체 = 데이터 + 기능 객체 = 컴퓨터(pc) 데이터(변수) = 모니터, 본체, 키보드, 마우스, 스피커등 기능(메소드) = 화면출력, 프로그램 실행, 입력, 소리출력 등 객체지향 언어의 특징 상속 캠슐화 추상화 : 추상적인 설계도 다형성 상속 : 의미 그대로 상위 클래스의 모든 것을 상속받아 사용하는 것 (데이터의 관계성) 캡슐화 : 데이터와 기능을 외부로부터 접근을 차단하고 권한 또는 절차 없이 데이터를 변경 .. Java 2022. 5. 24. 22/05/19 JAVA (DAY7) while문이란 --> 조건식이 ture이면 문장이 실행되고, false이면 종료된다 또 다른 반복문이 for문이 있다. for문이랑 차이가 있다면 초기값을 증감식을 적지를 않는다. while문은 문장을 반복할 대 초기값과 증감식을 정의 하는 것이 필수조건은 아닌 것이다. 즉, while(참일대까지 반복) // 참이 아닌 거짓일대는 반복에서 탈출한다. 이 그림은 1~100까지 합을 while문으로 반복을 돌려 합을 구한것이다. 더 나아가 while문으로 구구단을 출력해본다. 이 그림은 while문으로 반복적인 연산을 한것이다. num에 초기값을 0으로, 단수는 dan에2값으로 초기화 시켜준다. 조건이 num 초과 9이하 까지면 반복을 8번하는 것이다 그럼 마지막에는 출력이 2 x 8 = 16까지 밖에 출.. Java 2022. 5. 19. 22/05/18 JAVA (DAY06) if문(조건문) if문은 주어진 조건에 따라서 실행할 문장이 다를 때 사용한다. if문은 단순 if문과 if~else을 사용한다. else if란 여러개의 조건식을 사용해야 하는 경우 if-else를 활용하여 false인 조건식들은 건너뛰고 true가 되는 블록만 실행할 수 있다 표준적인 조건코드 if와 else 한쌍의 모양 들여쓰기 할때는 스페이스가 아닌 Tab을 이용해서 들여쓰기를 해준다. ex) 90점 이상이면 A학점 80점 이상이면 B학점을 주고싶다면 이렇게 조건에 따라 실행을 다르게 하고싶다면 if문을 사용하여 90점 이상이면 A학점을 출력하는 문장으로 실행하도록 80점 이상이면 B학점을 출력하는 문장으로 실행하도록 하는것이다. 말 그래도 만약~라면 ~일것이다. 표현식은 if (조건식) 종속문장.. Java 2022. 5. 19. 22/05/17 JAVA (DAY05) -> 왼쪽 항을 기준잡아 참과 거짓으로 구분한다. >, =, -> 논리연산자를 이용하여 true or false를 가지고 계산한다. AND(&&), OR(||), NOT(!)와 같다. AND = 곱 OR = 합 NOT = 부정 AND는 하나라도 false가 있으면 false이다 OR은 하나라도 true가 있으면 true이다. 산굴과 대입을 합쳐 사용하는 연산자이다. +=, -=, .. Java 2022. 5. 19. 이전 1 2 다음