공부방/JAVA (24) 썸네일형 리스트형 디자인 패턴 - strategy pattern Duck public abstract class Duck { public void quack() { System.out.println("꽥꽥"); } } Duck 클래스를 상속받는 3개의 클래스를 확인해 보자. public class Duck1 extends Duck { } public class Duck2 extends Duck { @Override public void quack() { System.out.println("-무음-"); } } public class Duck3 extends Duck { @Override public void quack() { System.out.println("-무음-"); } } 무음이었던 2번 오리의 quak 메서드가 변경된다면 어떻게 해야 할까요? 아래와 같이 .. mysql - 2일차 데이터 형식 [TEXT 형식] TEXT : 1 ~ 65535 바이트 LONGTEXT : Join join의 명령어 형태는 아래와 같다. select * from [테이블1] inner join [테이블2] on [조인 조건] where [검색 조건] Group by 의 조건을 Having에 명시해 주는 것과 같이 join의 조건은 on절에 명시를 해주면 된다. join의 종류는 4가지가 존재한다. Inner Join, Left outer join, Right outer join, Full outer join 한개씩 차근차근 살펴보도록 하자. Inner Join 앞서 예시로 보여주었던 명령어가 inner join에 대한 것이었다. select * from [테이블1] inner join [테이블2] on .. mysql mysql에 대해서 공부한 내용을 정리해 봅니다. SQL 구문 순서 SQL 구문의 순서는 먼저 다음과 같습니다. 작성 순서 -------------------------------------- (실행 순서) SELECT 컬럼명 --------------------- (5) FROM 테이블명 ------------------- (1) WHERE 테이블 조건 --------------- (2) GROUP BY 컬럼명 -------------------- (3) HAVING 그룹 조건 ----------------- (4) ORDER BY 컬럼명 -------------------- (6) 1. FROM : SQL은 구문이 들어오면 테이블을 가장 먼저 확인합니다. 2. WHERE : 테이블명을 확인했으니, 테.. Map, Hash table Hash table (Hash map) 배열과 해시 함수 (Hash function)를 사용하여 map을 구현한 자료구조입니다. 일반적으로 상수 시간으로 데이터에 접근하기 때문에 조회가 빠르다는 장점을 가지고 있습니다. Hash function 임의의 크기를 가지는 type의 데이터를 고정된 크기를 가지는 type의 데이터로 변환하는 함수입니다. 아래의 그림을 참고 부탁드립니다. Hash table은 어떻게 동작할까요? hash collision key는 다른데 hash가 같을때 ket도 hash도 다른데 hash % map_capacity 결과가 같을 때 hash collision 해결 방법 - open addressing (linear probing) -> 비어있는 공간에 저장 -> - separat.. 일급 컬렉션 일급 컬렉션에 대해 너무 좋은 글이 있어 참고할 목적으로 링크를 달아놓았다. 아직 익숙하지 않아, 체화되지 않아 코드 작성하는 단계에서 간과하고 넘어가는 부분이다. 매일 한번씩 읽어보도록 하자. https://jojoldu.tistory.com/412 일급 컬렉션 (First Class Collection)의 소개와 써야할 이유 최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코 jojoldu.tistory.com 예외처리 예외란 문법적인 오류는 없어 프로그램이 실행은 되지만 특수한 상황을 만나면 프로그램이 중단되는 현상을 말한다. 예외처리에 대해서 알아보기 전에 흔히 혼동할 수 있는 3가지 개념에 대해서 먼저 짚고 넘어가보자. 오류: 에러와 예외를 포괄하는 개념 에러: 프로그램 코드에 의해서 해결 할 수 없는 심각한 오류 예외: 특수한 상황이 발생하면 프로그램이 중단되는 현상으로 프로그램 코드에 의해서 해결 할 수 있는 오류 에러 에러는 컴파일 에러와 런타임 에러로 나뉘어 진다. 컴파일 에러: 문법, 자료형 등이 일치하지 않을 떄 발생하는 에러 런타임 에러: 컴파일은 완료하였지만, 실행도중에 발생하는 오류 자바는 런타임이 발생하는 오류를 에러와 예외로 구분하고 있다; 우리는 예외에 대해서 알아보도록 하자. Runtime .. [JAVA] enum 이란? Enum class란? 우리가 흔히 상수를 정의할 때 final static string 과 같은 방식으로 상수를 정의를합니다. 하지만 이렇게 상수를 정의해서 코딩하는 경우 다양한 문제가 발생됩니다. 따라서 이러한 문제점들을 보완하기 위해 자바 1.5버전부터 새롭게 추가된 것이 바로 "Enum" 입니다. Enum은 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미합니다. 기존에 상수를 정의하는 방법이였던 final static string 과 같이 문자열이나 숫자들을 나타내는 기본자료형의 값을 enum을 이용해서 같은 효과를 낼 수 있습니다. Enum의 장점 Enum을 사용하면서 우리가 얻을 수 있는 이점은 다음과 같습니다. 1. 코드가 단순해지며, 가독성이 좋습니다. 2. 인스턴스 생성과 상속을 .. 상속 자바에서 상속을 정의할 때 extends라는 키워드를 사용한다. extend는 확장하다라는 의미로 부모에게 물려받는 것 외에 추가로 확장할 수 있다라고 이해하면 된다. class 자식클래스 extends 부모클래스{ ... } 상속의 특징 단일 상속만 가능 - 자식 클래스는 하나의 부모 클래스에서만 상속 받을 수 있다. 자식 클래스를 객체로 생성할 때 , 부모 클래스가 먼저 객체화 된다. 모든 클래스는 Object 클래스로 부터 시작하는 상속관계 하위 객체이다. (모든 클래스의 가장 상위 클래스는 Object 클래스이다.) 상속 예제 Phone.java public class Phone { String name; String color; String company; void call() { System... 이전 1 2 3 다음