목록static (5)
개발 무지렁이

𐂂 JwtConfig 📜 jwt 비밀키 생성 객체 Bean등록.java @Configuration public class JwtConfig { @Value("${custom.jwt.secretKey}") private String secretKeyPlain; @Bean public SecretKey jwtSecretKey() { String keyBase64Encoded = Base64.getEncoder().encodeToString(secretKeyPlain.getBytes()); return Keys.hmacShaKeyFor(keyBase64Encoded.getBytes()); } } 🦉 @Value("${ }") : 외부 설정파일에서(properties, yml..)에서 값을 가져와 해당 클래스의..

인터페이스(Interface) ⚠️ 클래스가 아니다. 객체생성x, 상속x 추상 메서드(abstract method)만을 가지고 있는 형태 ※ 단, 인터페이스 내부에는 디폴트 메서드, 정적 메서드가 올 수 있다. 🎯 목적: ✔️ 다중상속과 같은 효과를 낼 수 있다. ✔️ 소통을 위한 규격의 역할을 한다. 🧩 확장성 🧩 유지보수 > 🦔 인터페이스의 변수는 항상 앞에 public static final이 붙는다.(생략) WHY? 인터페이스는 규격과 같은 역할을 한다. ❓static이 없다면? 구현객체마다 초기화값이 다르다. ➡️ 🗿 규격의 의미가 없어진다. ❓final이 없다면? 구현객체마다 변수의 값을 바꿀 수 있다. ➡️ 🗿 규격의 의미가 없어진다. 🗿 즉, 인터페이스가 만들어질 때, 한번 진정한 상수를 ..

정적(static) 멤버 객체 생성없이 접근가능한 멤버이며, 메모리에 무조건 올라간다. (하나를 만들어서 공유하고 싶을 때 => 지역변수에는 사용불가) vs 인스턴스(instance) 멤버 객체에 소속된 멤버이며, 객체를 생성해야만 사용할 수 있는 멤버이다. ※ 클래스 안의 메서드는 각 객체마다 존재하지 않고, 메서드 영역에 저장되어 공유된다. (객체마다 메서드[코드의 덩어리]를 저장한다면 '중복저장'으로 인해 메모리 효율이 떨어진다.) final 변수에 사용: 한 번 초기화하면 값변경이 불가능하다, 상수역할 (자동 초기화x) 메서드에 사용: 오버라이딩 x, 상속 x => 부모가 될 수 없음, (단, 객체생성은 가능) 📌. '진정한 상수'란? static final int CONSTANT = 100; s..

static (1) 객체 생성 여부와 관계없이 메모리를 미리 할당받는 애들 (2) 같은 클래스들이 공유하는 영역, 공유변수( 인스턴스 변수) 🚩 위치 - class 앞에 올 수 없다 (단, inner class에는 가능) - 전역변수 앞에 사용가능 (class이름.변수이름으로 호출, ex) System.in, System.out) - method 앞에 사용가능 (class이름.변수이름으로 호출, 단, this 키워드 사용x, 객체 생성 없이 호출하니까) ⚠️ static method는 static method, 변수만 호출 가능하다. 🕋 class [본사] 🕋🧑🔧 static 필드/메서드 [본사직원] 🏬 객체 [지사] 🏬🧑🔧 객체 메서드 [지사직원] - static(본사직원)은 static(본사직원)..

📌. 디자인 패턴 : 소프트웨어 개발에서 자주 발생하는 문제를 해결하기 위한 설계상의 문제해결방법을 말한다. : 개발자 사이에서 공유되고, 사용되는 검증된 솔루션이다. 🧩일관성, 🧩유지보수성, 🧩재사용성을 높인다. 🥥. 생성패턴 in 디자인패턴 :객체 생성과정을 유연하게 다룰 수 있다. 객체의 개수를 제어하는 싱글톤 패턴 생성자의 접근제한자를 private로 두어 외부에서 사용자가 직접 객체를 생성하지 못하게 한다. (🃏 개발자가 주는대로만 쓰게끔) (1) 'private 생성자'를 만들고, (2) '멤버필드를 하나만 생성'하고, (3) '가져다 쓸 수 있는 메서드'를 만든다 ☝️ (백번호출해도) '하나만 만들어놓고 공유'해서 쓰는 형태 class..