본문 바로가기

728x90
반응형

전체 글

(187)
[디자인패턴] Strategy(전략) 패턴 (Feat.Java) Strategy Pattern (전략 패턴) 이란? 전략 패턴은 정책 패턴 (Policy Pattern) 이라고도 하며, 객체의 행위를 바꾸고 싶은 경우 직접 수정하지 않고 전략이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴 - [면접을 위한 CS전공 지식 책 설명] 프로그램이 실행 중에 객체의 동작을 실시간으로 바꾸도록 할 수 있는 행위 디자인 패턴 어떤 객체가 여러 일이 가능 했으면 좋겠다고 생각했을 때, 미리 전략을 정의해서 전략을 교체할 수 있는 경우에 적합한 패턴 예시 interface SearchStrategy { void search(); } // 전략 패턴에서는 전략을 담을 통이 필요하다! class Context { SearchStrate..
[백준 11399] ATM (Feat. Java) 문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 총 3+1+4 = 8분이 필요하게 된다..
[자바/기본] 내부 클래스(InnerClass) 내부 클래스(Inner Class) 내부 클래스란 하나의 클래스 내부에 선언된 또 다른 클래스를 의미한다. 내부 클래스 또한 일반적으로 선언되는 클래스와 다른점이 없다 다른 점은 클래스 내부에서 선언된다는 점 그렇다면 언제 내부 클래스를 설계 해야할까?? 상속 관계로 묶을 수 없지만 A객체가 생성되어야 B객체가 존재할 수 있다고 하면 B를 A의 멤버 내부 클래스로 선언할 수 있다. EX) 컴퓨터 - 메모리 / 자동차 - 타이어 is - a : 상속관계 has - a 종속 관계일때, 멤버 내부 클래스 독립 관계일때, 멤버 변수 종류 Member inner class (멤버 내부 클래스) : 다른 클래스 내부에서 선언된 클래스  Nested class (static 내부 클래스) : 다른 클래스의 내부에서..
[디자인패턴] Singleton 패턴 (Feat.Java) 싱글톤 패턴 (Singleton Pattern) 이란? 객체 지향 프로그래밍에서 자주 사용되는 패턴으로 클래스의 인스턴스 즉, 객체를 하나만 생성하여 사용하는 패턴이다. 따라서, 이 클래스안에 인스턴스가 하나 임을 보장 해야하며 이로인한 불필요한 메모리를 최소화 할 수 있다. 리소스를 공유 하거나 상태를 관리하는데 사용된다. public class Singleton { private static Singleton instance; private Singleton() {} //private으로 생성자 소환 public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } ..
[자바/기본] List 란? 이전 글 에 이어서 List 인터페이스에 대한 내용을 포스팅 하고자 한다. List 란 & Why List? 자바의 array의 한계를 극복하기 위해 만들어진 자료형 저장된 요소들의 순서가 있고 데이터에 중복이 가능한 인덱스(index) 번호에 의해서 정렬됨 array는 사이즈가 고정 되어있지만 List는 사이즈가 고정되어있지 않음 (동적으로 변한다는 표현 사용) List의 어느 위치에서나 요소를 추가, 제거, 수정이 가능함 반복을 위한 메소드를 지원 (iterable) 이전 글에서 확인 할 수 있듯이 List는 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용하는 인터페이스 여러가지 구현 클래스가 있고 각 클래스는 다양한 기능 과 특징을 가지고 있다. ArrayList LinkedList Vecto..
[ORM] ORM(Object Relational Mapping)이란? ORM이란? Object Relational Mapping 의 줄임말, 객체와 관계형 데이터베이스 매핑의 줄임말 쉽게 말해서 클래스로 만들어진 인스턴스(객체)와 RDB(Relational DataBase)의 테이블과의 연결을 의미 위 그림처럼 객체를 통해 간접적으로 데이터베이스의 데이터를 다룰 수 있다. ORM을 통해서 객체간의 관계를 바탕으로 SQL문이 자동으로 생성되기 때문에 객체모델(클래스)과 관계형모델(테이블)의 불일치성을 해결해준다 Why ORM? 장단점 장점 객체지향적인 코드 더 직관적이고, 비지니스 로직에 더 집중 할 수 있다. 앞서 이야기 했듯이 SQL문을 자동으로 생성해주기 생산성이 증가 코드의 가독성을 올려줌 재사용성 및 유지보수의 편리성 증가 선언된 클래스를 통해서 ORM클래스로 지정..
[자바/기본] Collection Framework란? Java Collection Framework란? (JCF) 여러 자료구조 종류들을 자바 클래스로 구현한 모음집으로 본인은 이해하고 있음 데이터의 집합, 그룹을 의미하고 있으며 이 프레임워크는 상속 계층도를 가지고 있다. 기록하는데 큰 도움을 블로그 입니다 감사합니다 Collection Framework 를 구성하는데 더 많은 이해를 위해서는 Generic 에 대한 이해가 필요하다. https://jk25.tistory.com/188 [자바/기본] Generic 이란? 이전글에 Wrapper 클래스에 이어서 Generic에 대해서 포스팅 하고자 한다. Generic 클래스란? generic의 사전적 의미는 일반적으로 라는 뜻 클래스의 멤버변수 혹은 메소드의 리턴 타입이나 매개변수의 jk25.tistory..
[자바/기본] Generic 이란? 이전글에 Wrapper 클래스에 이어서 Generic에 대해서 포스팅 하고자 한다. Generic 클래스란? generic의 사전적 의미는 일반적으로 라는 뜻 클래스의 멤버변수 혹은 메소드의 리턴 타입이나 매개변수의 리턴타입을 지정하지 않고 일반적으로 정의 하는 클래스 본인은 사용자가 원하는 클래스로 사용하고 싶을때 사용할 수 있는 "다형성" 을 만족시켜줄 수 있는 클래스라고 이해 원하는 동작을 같지만 데이터 타입만이 다른 경우 Generic으로 설계함으로써 코드 생산성을 향상시킬 수 있다! (많은 블로거들이 꺽쇠 라는 단어로 표현) 안에 타입매개변수 (type parameter)를 지정한다. [Java7 이후 Diamonds 라는 표현을 많이 쓴다고 함] Why Generic 클래스? 앞서 설명했다 시..

728x90
반응형