1) Enum은 무엇인가? 열거형이라고도 불리는 Enum은 class, interface와 같이 새로운 객체를 생성할 수 있는 하나의 클래스이다. Enum에서 열거형에의 생성자는 기본적으로 private 접근제한자를 사용하고 있다. 즉, getter 와 setter 메서드를 이용한 접근으로 상수를 이용할 수 밖에 없도록 하고 있다. 이는 프로그램을 이용하는 사용자가 임의로 중요 정보에 바로 접근할 수 없도록 하기 위함이다. (Encapsulation) 2) Enum의 활용 Java Enum 활용기 우아한형제들 기술블로그 이동욱 님 1. Enum의 사용으로 불필요한 코드량을 줄일 수 있다. 연관된 의미를 가진 속성들을 한 줄의 코드로 줄여 가독성을 높이고 불필요한 코드를 작성을 피할 수 있다. 2. val..
웹개발에서 많이 사용되는 List 계열 콜렉션(Collection)에 대해 알아보자. List 계열 List 계열은 순차적 자료저장, 순차적 반환, 중복 저장이 가능한 계열의 컬렉션(Collection)이다. 이하 List 인터페이스를 구현하는 클래스를 살펴보면 다음과 같다. 1. AbstractList java.lang.Object java.util.AbstractCollection java.util.AbstractList 자바 콜렉션 프레임워크를 구성하는 대표적 클래스로 하위 클래스에는 AbstractSequentialList, ArrayList, Vector 가 있다. 랜던 데이터 저장 구조를 기본으로 하기에 LinkedList와 같이 차례를 기억하는 기억력의 Sequence를 구성하기 위해서는 A..
1) 컬렉션(Collection)과 제네릭(Generic) JDK1.5 도입과 시작된 것이 바로 제네릭(Generic)이다. 쉽게 말해 컬렉션(Collection)으로 자료를 저장하는데 필요한 데이터 타입을 지정해주므로 데이터 타입의 혼용과 오류를 방지하기 위한 일종의 장치이다. 배열에는 이미 배열 객체 생성시 그 타입과 크기를 지정해야 한다. 반면, 컬렉션(Collection)은 동적, 가변적 자료구조를 저장할 수 있지만 별도의 제네릭 으로 설정이 필요하다. 2) 왜 필요할까? 제네릭(Gerneric)을 이용하면, 컴파일시 발생하는 타입에러 발생 위험을 줄일 수 있다. 그리고 타입이 제한을 두고 있어 실제 데이터 값을 입력시에도 타입을 제한할 수 있다. 즉, 사전예방 효과가 있다. 뿐만 아니라, 특정 ..
1) 컬렉션(Collection)은 무엇이고 왜 사용되는가? 자료를 담는 자료구조를 말한다. 구성은 java.util 패키지의 collection 인터페이스에 있으며, Iterable 인터페이스로부터 상속받고 있다. 여러 데이터를 담기 위해 컬렉션 이전에 배열 타입으로 자료를 저장할 수 있었다. 하지만, 컬렉션을 이용하면 여러 타입의 자료를 저장할 수 있다. 그리고 동적 메모리 할당으로 배열과 달리 크기 선언을 미리 할 필요가 없다. 추가적으로 필요한 만큼 데이터 공간을 추가할 수 있기 때문이다. 2) 컬렉션(Collection)의 자료구조 유형 그럼 자바에서 컬렉션 인터페이스를 이용하는(상속받는 자손 인터페이스) 자료구조 유형은 어떤 것들이 있을까? 대표적으로 List, Set, Queue 이다. 각 ..
1) 람다식(Lambda)은 왜 필요한가? 람다식(Lambda)으로 별도의 클래스 객체 생성 없이 간결한 인터페이스 구현 객체를 만들 수 있다. 2) 람다식(Lambda)이란 무엇인가? 간단한 프로그래밍 함수식. 익명함수 즉, 람다식은 추상화와 함수 적용 등의 논리연산을 다루는 형식 체계로 람다 대수에서 비롯되었다고 한다. @FunctionalInterface 어노테이션으로 함수형 인터페이스를 만들고 해당 추상메서드를 사용할 때 이용된다. 이 때 함수형 인터페이스에는 추상메서드만이 들어올 수 있으며, 한 개만 가능하다. 이 추상메서드에는 접근제한자 + abstract는 생략되어져 있다. @Override Interface interf = new Interface() { public void name(St..
배열의 응용예제 - 정수에 천단위마다 콤마(,) 넣기 1. 자바에서 DecimalFormat 을 이용해 천단위마다 콤마를 넣는 표기를 할 수 있다. DecimalFormat 역시 객체를 생성해서 #,### 표기를 작성해주면 된다. DecimalFormat df = new DecimalFormat("#,###"); String smoney = df.format(money); System.out.println(smoney); 2. 두 번째 방법은 배열을 이용하는 것이다. 위 방법보다는 복잡하지만 두 배열을 활용해 , 를 표기할 수 있다. 먼저 입력받는 배열과 , 를 입력한 배열을 만든다. 그리고 천단위 표기의 규칙을 생각해보면 뒤에서 부터 4자리 수마다 , 가 표기됨을 알 수 있다. 즉, 반복문을 활용해 기..
Random 응용과 예제 - 가위바위보 게임 만들기 Random rd = new Random(); 랜덤객체 생성으로 if, else if 문으로 각 경우의 수에 따른 출력값을 작성해주면 된다. 숫자가 아닌 경우는 NumberformatException 을 만들고, 메뉴 외의 수가 입력된 경우는 다시 입력할 수 있도록 코드를 작성한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 if (userNum!=4) { //1~3을 낸 경우 int pcNum = rnd.nextInt(3-1+1)+1; //사용자가 이긴 경우 if((pcNum==1&&userNum==2) || (pcNum==2&&userNum==3) || (pcNum==3&&userNum==1)) { msg = ">>> 사용자님이 이겼..
While 문과 응용 변수의 초기화; while(조건식) { 반복해서 실행할 명령문; → 조건이 참일때, 실행된다. 증감식; for(;;) 와 같이 while 문에서 동일하게 무한반복문을 만들고자 할 때는 조건식 자리에 true 를 넣어 반복문으로 만들 수 있다. 그리고 for문과 동일하게 while 문에서도 구구단 출력이 가능하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 int loop=0; while(true) { System.out.println(++loop+". while 테스트~~"); if(loop == 5) break; } loop=0; while(true) { if(++loop>10) break; //탈출조건 if(l..
- 호스팅영역
- LifecycleException
- 북클럽
- SQLD
- 기술블로그
- 노마드코더
- IT 5분 잡학사전
- 개발도서
- gradle build
- 오늘의코딩
- AWS
- putty
- 웹페이지만들기
- 정보처리기사 실기
- gradle
- ubuntu
- intellij
- 정보처리기사
- 실용주의프로그래머
- spring
- EC2
- 노개북
- java
- jdbc
- git연동
- 정보처리기사 필기
- filezila
- 독서후기
- 배포
- JIRA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |