[ java ] Static 메서드에서 Field 접근
·
JAVA
📌 Static 메서드에서 Field 접근Static method는 인스턴스 생성 전에도 사용 가능static 필드에만 접근이 가능하다.instance 필드는 인스턴스 생성 전에는 사용이 불가능하기 때문에instanceMethod는 인스턴스 생성 후에 사용 가능instance필드, static 필드 둘다 접근이 가능하다.public Eclass(){ public static int sField; //staticField public int iField; //instanceField public static void staticMethod(){ System.out.println(sField); System.out.println(iField); //오류 발생 } public void instan..
[ java ] 인터페이스 (다중구현, static, default)
·
JAVA
📌 인터페이스란?public interface Flyable { public void 날다();}public class 나비 implements Flyable{ @Override public void 날다() { System.out.println("나비가 훨훨 납니다"); }}public class FlyableTest { public static void main(String[] args) { Flyable flyable = new 나비(); //객체 생성은 안되지만 타입으로 사용 가능 }}인터페이스는 클래스가 구현해야할 메서드의 형식을 정의하는 청사진(계약서) 역할을 한다.인터페이스를 구현할때는 implemets를 사용한다.클래..
MVC 패턴이란?
·
스프링 | 스프링 부트
📘MVC 패턴이란?model, view, controller로 애플리케이션을 3가지 역할로 분리하여 개발하는 소프트웨어 설계 패턴 중 하나이다.1️⃣ Controller 란?사용자의 요청(Request)을 처리하고, 적절한 응답을 반환한다.요청에 따라 사용자의 입력을 Model에 전달하고, 비지니스 로직 결과를 View로 전달Model과 View의 다리 역할이라고 생각하면 된다.⚒️ Controller 규칙Model과 View에 의존해도 된다.Controller 내부에 Model, view의 코드가 있을 수 있다.public class TestController { @GetMapping("/test") public String getTest(Model model) { Test t..
[ java ] Optional 이란?
·
JAVA
📘 Optional이란?Null 값을 감싸는 Wrapper클래스이며, Null값을 참조 또는 사용하더라도 NullPointException(NPE)가 발생하지 않게 도와준다.Java8에서 도입된 클래스이며, Optional 클래스를 사용해 NullPointException(NPE)를 방지할수 있다.📎 Optional 특징 ?값이 없을때 적절한 처리( Ex. 기본값 제공, 예외 발생 등)를 할 수 있게 도와준다.Null값을 Wrapper로 한번 감싸서 사용하기 때문에 코드의 안정성을 높이는데 도움을 준다. 📘Optional의 객체 생성 방법 1️⃣ Optional 생성 방법 : Optional.of(value)값이 null이 아님이 보장될 때 사용된다. 아래 코드는 hello라는 값을 가진 Opti..
[ Spring Boot ] 프레임워크와 라이브러리
·
스프링 | 스프링 부트
📘 프레임워크프레임워크는 프로그램 개발 시 필수적인 코드, 알고리즘, D연동 같은 기능을 위해 기본적은 구조(=뼈대)를 제공한다.개발자는 이 구조(=뼈대) 위에서 코드를 하고 프로그램을 개발한다. ⚒️ 예시 : 스프링 부트에서 사용되는 기본 구조 (=뼈대)1️⃣ 자동 설정 (Auto Configuration) : properties, yml 파일에 설정을 추가하는 것만으로 데이터베이스 연결, 서버포트 설정을 할 수 있다.server.port=8080spring.datasource.url=jdbc:mysql://localhost:3306/mydb 2️⃣ 데이터베이스 연동 (JPA, Hibernate) : JPA와 Hibernate를 내장, JpaRepositor를 이용해 데이터를 CRUD할 수 있는..
[ mysql ] 설정한 유니크키 제거하기
·
트러블 슈팅
❓ 문제 발생loginId는 중복이 가능하게 하고, bankId가 다르면 insert 되어야 하는데 안된다 ! 처음 테이블을 만들때 loginId를 unique key로 사용하였는데, 후에 loginId, bankId를 함께 unique key로 사용할 수 있도록 바꾸고 싶었다.alter table을 사용해서 새로운 제약 조건(unique_customer_bank) 을 추가했는데, 이미 loginId에서 unique 제약 조건이 걸려있어 충돌이 발생하는 것 같다.사진을 보면 bankId = 1 , loginId = 123j 고객이 존재할때, test의 bankId는 4이기 때문에 bankId = 4 , loginId = 123j 는 가능하게 하려고 한다하지만 실행을 해보면 중복아이디로 인식하는 것을 확인..
[ java ] 배열 (복사, 비교) , 2차원배열 개념
·
JAVA
📌 배열 , 2차원 배열배열(array)은 인덱스(index)와 인덱스에 상응하는 데이터들로 이루어진 연속적인 자료구조배열은 기본형 배열과 참조형 배열로 나뉜다.데이터형[] 배열이름 = new 데이터형[ ]데이터형 배열이름 [] = new 데이터형 [ ]int [] aa = new int[4] [ 기본형 배열 ]기본형 배열이란 primitive(int, double) 타입의 변수를 여러개 선언할 필요가 있을 때 사용한다. [ 참조형 배열 ]참조형 배열이란 배열의 타입이 기본형이 아닌 경우를 말한다.배열 변수가 참조하는 배열의 공간이 값을 저장하는 것이 아니라 값을 참조한다는것을 의미  1️⃣  배열 선언 및 생성배열에 대한 레퍼런스 변수 선언(=intArray) -1 배열 생성 - 배열의 저장 공간 할..
[ java ] String 클래스(문자열 분리, 비교)
·
JAVA
📌  String 클래스문자열을 표현하는 자바에서 가장 많이 사용하는 클래스불변 객체이며, 문자열 리터럴을 사용해서 객체 생성이 가능하기 때문에 new 를 이용하지 않고 인스턴스 만들 수 있다.String test = "hi";new 연산자를 이용하지 않고 인스턴스를 만들 수 있다.new 는 클래스를 메모리에 올릴때 사용된다.str은 메모리의 위치값이 저장sHello라는 인스턴스를 가지고 있는 것이 아니라 참조(가르키고있는)하는 것이다.String str = new String("hello");// str은 Hello라는 인스턴스를 가지고 있는 것이 아니라 참조(가르키고있는)하는 것이다. // str은 메모리의 위치값이 저장되어져 있는 것이다.  ⭐ 불변객체 참고https://dose-blog.tist..