본문 바로가기

1분 테크4

Enum Enum이란?열거형이라고도 불리는 Enum은 멤버라 불리는 명명된 값의 집합을 이루는 자료형이다.상수 데이터들의 집합이라고 생각하면된다.예로는 요일 / 계절 / 주사위 등이 있다.월, 화, 수, 목, 금, 토, 일 / 봄, 여름, 가을 , 겨울 / 1, 2, 3, 4, 5, 6이와 같이 한정된 데이터의 묶음을 열겨형 타입 Enum으로 묶는다면 구조적으로 설계가 가능하다.과거 상수 정의final 상수final 제어자를 이용해 변수를 상수화정의된 상수는 클래스 내에서 전역으로 사용될 수 있으며, 한 번 정의된 후에는 값을 변경할 수 없습니다.하지만, 숫자 상수만으로는 어떤 값이 어떤 의미를 가지는지 직관적으로 알기 어렵다. 코드만 봐서는 1이 월요일을 나타내는지 알기 어렵다. 또한 정수형 상수는 같은 정수형.. 2024. 6. 25.
전략패턴(Strategy) 패턴 전략패턴이란?전략 패턴은 실행 중에 알고리즘 전략을 선택해서 객체 동작을 실시간으로 바뀌도록 할 수 있게 하는 행위 디자인 패턴이다.여기서 전략이란 일종의 알고리즘이 될 수도 있고, 기능이나 동작이 될 수 있는 특정한 목표를 수행하기 위한 계획을 말한다.조금 어려운 느낌일지도 모른다.간단하게 생각하면 위 사진과 같이 검색창을 구현하는 상황을 생각하면 된다. 보통은 위 사진과 같이 클릭이 있어나면 그 클릭의 모드에 따라 조건문을 거쳐 메소드를 실행할 것이다.하지만 이는 수평적 확장을 진행할 때, 기능이 추가될수록 조건문이 늘어나고 기존의 코드를 수정해야한다는 단점이 존재한다.  즉, 고수준 모듈이 기능이라는 저수준 모듈에 의존하여 코드의 주도권을 뺏기는 상황이라 볼 수 있다.이는 객체 지향 5원칙에 OCP.. 2024. 6. 10.
싱글톤(Singleton) 패턴 싱글톤이란?단 하나의 유일한 객체를 만들기 위한 코드 패턴메모리 절약을 위해, 인스턴스가 필요할 때 똑같은 인스턴스를 새로 만들지 않고 기존의 인스턴스를 가져와 활용하는 기법. → 전역변수를 만들어 이용하는 이유는 똑같은 데이터를 메서드마다 지역변수로 선언해서 사용하면 무의미하고 낭비이기 때문에 전역에서 한번만 데이터를 선언하고 가져와 사용하면 효율적보통 해당 객체가 리소스를 많이 차지하는 역할을 하는 무거운 클래스일 때 사용ex) 데이터베이스 연결 모듈에서 데이터베이스에 접속하는 작업(I/O 바운드)은 그 자체로 무거운 작업에 속하며, 한번만 객체를 생성하고 돌려쓰면 되지 굳이 여러번 생성하여 메모리를 낭비할 이유가 없음, 디스크 연결, 네트워크 통신, DBCP 커넥션풀, 스레드 풀, 캐시, 로그기록 .. 2024. 5. 31.
정규화(Normalization) 정규화의 목적(최적화) → 변화에 유연한 대처를 위해 불필요한 데이터를 제거, 데이터의 중복을 최소화 하기 위해 데이터베이스 구조 확장 시 재디자인을 최소화 다양한 관점에서의 query를 지원하기 위해서 무결성 제약조건의 시행을 간단하게 하기 위해서 각종 이상 현상(Anomaly) 을 방지하기 위해서, 테이블의 구성을 논리적이고 직관적으로 한다. 데이터의 중복을 줄이고, 무결성을 향상 → 관계형 데이터베이스를 정규화된 형태로 재디자인하는 것 제 1정규화(First Normal Form, 1NF) 테이블(Relation)이 제 1정규형을 만족했다는 것은 아래 세 가지 조건를 만족했다는 것을 의미한다. 어떤 Relation에 속한 모든 Domain이 원자값(atomic value)만으로 되어 있다. 모든 a.. 2024. 3. 31.