1. JUST JAVA
객체지향에 충실한 자바다운 자바
By Kim Jong Uk
원리를
알면 IT가
맛있다.
본 슬라이드는 JUST JAVA의 고급 기술과 관련하여 정리한 피피티 입니다.
2. By Kim Jong Uk
INDEX
• 객체지향 프로그래밍 기법
• 자바 컬렉션 프레임워크
• 람다식
• Eclipse - debugging
3. By Kim Jong Uk
객체지향 프로그래밍 기법
• 우리가 살아가는 현실세계를 프로그래밍 할 수 있게 만든 것.
4. By Kim Jong Uk
객체지향 프로그래밍 기법
• 예
사람
소방관 의사 변호사 프로그래머
상속 관계를 통해 손쉬운
구조 프로그래밍이 가능하다.
5. By Kim Jong Uk
객체지향 프로그래밍 기법
• 절차지향 VS 객체지향
사람
소방관 의사 변호사 프로그래머
사람
소방관
의사
변호사
프로그래머
객체지향절차지향
절차로 구현하게 되면 사람이라는 정의를 개개의 객
체에 맞춰 모두 만들어줘야 한다.
하지만 이와는 달리 객체지향의 경우 사람이라는 것
을 통해 하위를 구현하면 되므로
훨씬 코드가 부드러워진다.
6. By Kim Jong Uk
객체지향 프로그래밍 기법
• 객체지향 코드
기본 구조 위에 각자의 특성에 맞는 것만 아랫단에서
구현해주면 되기 때문에, 모든 것을 구현해야 했던
기존의 절차 지향 방식보다 구현함에 있어서 훨씬 간
편해 졌다.
7. By Kim Jong Uk
• 자바 컬렉션 프레임워크
크게 Collection과 Map으로 구성되며 각각의 하위
단엔 오른쪽의 그림과 같은 구조를 가지고 있다.
• Collection이란 같은 타입의 참조 값을 여러 개
저장하기 위한 자바 라이브러리이다.
또한 이를 체계적으로 관리 하기 위해 존재하는 자료 형이다.
8. By Kim Jong Uk
• 자바 컬렉션 프레임워크
Set
• Set은 중복되는 자료를 허용하지 않음.
• 해시 테이블구조와 흡사함.
• 해시 테이블과 연결 리스트 기능을 지원하는 LinkedHashSet 지원
Set set = new HashSet();
set.add(“a”);
set.add(“b”);
set.add(“c”);
set.add(“d”);
System.out.println(set);
[a,b,c,d]
예
9. By Kim Jong Uk
• 자바 컬렉션 프레임워크
List
예
• 순차적으로 접근하는 자료구조
• 기본적인 형태로 ArrayList를 지원해줌
• Vector역시 이와 유사하나 컬렉션 프레임 워크가 아니므로 List사용을 권함
ArrayList a = new ArrayList();
a.add(“a”);
a.add(“b”);
a.add(“c”);
a.add(“d”);
For(Object alpa : a)
System.out.print(alpa);
[a,b,c,d]
10. By Kim Jong Uk
• 자바 컬렉션 프레임워크
Map
예
• Map은 Collection의 인터페이스를 구성하고 있지 않음
• Set과는 달리 중복되는 자료를 허용함
• Set과 유사하게 해시 값을 사용한 정렬과 검색을 지원함
Map map = new HashMap();
map.put(“1”,“a”);
map.put(“2”,“b”);
map.put(“3”,“c”);
map.put(“4”,“d”);
System.out.println(map);
[a,b,c,d]
11. By Kim Jong Uk
• 자바 컬렉션 프레임워크
Wrapper
• 자바는 객체지향 언어이기 때문에 일반 자료형까지 객체 타입을 지원함
• 이러한 연산을 통해 좀더 쉬운 일반 연산 처리를 실행 할 수 있음
• 객체의 개념을 확실히 이해 할 수 있게됨
기본 자료형 랩퍼 클래스
boolean Boolean
byte Byte
char Character
short Short
int Integer
long Long
float Float
double Double
예
Integer k = new Integer(100)
int i = k.intValue();
byte b = k.byteValue();
short s = k.shortValue();
long l = k.longValue();
float f = k.floatValue();
12. By Kim Jong Uk
• 람다식
• 람다식은 자바 8에서 새로이 등장한 가장 특징 있는 표현 법이다
• 람다식은 아래의 필요에 의해서 개발된 언어이다.
발명할 수 있는 언어는 이제 거의 발명되었다
새로운 언어는 기존 언어를 약간 수정한 수준일 뿐이다.
소프트웨어 분야가 현재의 예술 단계에서 과학의 단계로 올라서야 한다.
그러려면 수학이나 화학처럼 단일한 언어가 필요하다.
그것이 바로 자바에선 람다식이다.
13. By Kim Jong Uk
• 람다식
기존 코드를 람다식으로 변환
ArrayList<Integer> list = new ArrayList<Integer>();
For(int I = 1 ; I < 4; I ++)
list.add(I);
For(Integer num : list) {
System.out.println(num);
}
List.forEach(n->{System.out.println(n);});
람다식
엄청나게 단순해 졌다.
14. By Kim Jong Uk
• 람다식
함수형 인터페이스 구현
@FunctionalInterface
Public interface MyFuncInterface{
public void go(String s);
}
Public void printMsg(MyFuncInterface mfi) {
mfi.go(“hello”);
}
app.printMsg((n) ->{System.out.println(n);});
app.printMsg((n) ->{
for(int i = 0 ; i < 10; i++)
System.out.println(i+”-”+n);
});
적용
결과
Hello
0-hello
1-hello
2-hello
3-hello
…
15. By Kim Jong Uk
• Eclipse - debugging
모든 개발 플랫폼에서는 기본적으로 디버거 모드
를 지원해줌. 따라서 프로젝트의 코딩 만큼이나
중요한 것이 디버그 기능을 얼마나 잘 사용하냐인
만큼 , 디버그를 자주 사용하는 습관을 들여 자신의
프로그래밍 능력을 향상시키는 것이 가장 중요함.
16. By Kim Jong Uk
• Eclipse - debugging
이클립스에서 디버그 모드에
진입하게 되면 좌측과 같은
창이 나타난다. 여기에서 각
변수에 할당되어있는 값들이
무엇인지, 그리고 현재 브레이
크 포인트에는 어떠한 이벤트
상태 등이 있는지를 확인 할
수 있다.
17. By Kim Jong Uk
• Eclipse - debugging
단축키 기능
F5 해당 라인을 실행한다. 단 함수의 경우에는 함수의 내부 루틴
을 순환하게 된다.
F6 해당 라인을 실행한다. 단 함수의 경우에도 이를 무시하고 다
음 줄을 실행한다.
F7 현재 커서가 놓여있는 함수의 끝까지 이동한 후에 함수를 벗
어난다.
F8 현재 놓인 커서 까지 한번에 실행한다. 만약 커서(브레이크
포인트가 없다면)가 없다면 그냥 끝까지 진행한다.
디버깅을 위한 단축키