SlideShare a Scribd company logo
JUST JAVA
객체지향에 충실한 자바다운 자바
By Kim Jong Uk
원리를
알면 IT가
맛있다.
본 슬라이드는 JUST JAVA의 고급 기술과 관련하여 정리한 피피티 입니다.
By Kim Jong Uk
INDEX
• 객체지향 프로그래밍 기법
• 자바 컬렉션 프레임워크
• 람다식
• Eclipse - debugging
By Kim Jong Uk
객체지향 프로그래밍 기법
• 우리가 살아가는 현실세계를 프로그래밍 할 수 있게 만든 것.
By Kim Jong Uk
객체지향 프로그래밍 기법
• 예
사람
소방관 의사 변호사 프로그래머
상속 관계를 통해 손쉬운
구조 프로그래밍이 가능하다.
By Kim Jong Uk
객체지향 프로그래밍 기법
• 절차지향 VS 객체지향
사람
소방관 의사 변호사 프로그래머
사람
소방관
의사
변호사
프로그래머
객체지향절차지향
절차로 구현하게 되면 사람이라는 정의를 개개의 객
체에 맞춰 모두 만들어줘야 한다.
하지만 이와는 달리 객체지향의 경우 사람이라는 것
을 통해 하위를 구현하면 되므로
훨씬 코드가 부드러워진다.
By Kim Jong Uk
객체지향 프로그래밍 기법
• 객체지향 코드
기본 구조 위에 각자의 특성에 맞는 것만 아랫단에서
구현해주면 되기 때문에, 모든 것을 구현해야 했던
기존의 절차 지향 방식보다 구현함에 있어서 훨씬 간
편해 졌다.
By Kim Jong Uk
• 자바 컬렉션 프레임워크
크게 Collection과 Map으로 구성되며 각각의 하위
단엔 오른쪽의 그림과 같은 구조를 가지고 있다.
• Collection이란 같은 타입의 참조 값을 여러 개
저장하기 위한 자바 라이브러리이다.
또한 이를 체계적으로 관리 하기 위해 존재하는 자료 형이다.
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]
예
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]
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]
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();
By Kim Jong Uk
• 람다식
• 람다식은 자바 8에서 새로이 등장한 가장 특징 있는 표현 법이다
• 람다식은 아래의 필요에 의해서 개발된 언어이다.
 발명할 수 있는 언어는 이제 거의 발명되었다
 새로운 언어는 기존 언어를 약간 수정한 수준일 뿐이다.
 소프트웨어 분야가 현재의 예술 단계에서 과학의 단계로 올라서야 한다.
 그러려면 수학이나 화학처럼 단일한 언어가 필요하다.
그것이 바로 자바에선 람다식이다.
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);});
람다식
엄청나게 단순해 졌다.
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
…
By Kim Jong Uk
• Eclipse - debugging
모든 개발 플랫폼에서는 기본적으로 디버거 모드
를 지원해줌. 따라서 프로젝트의 코딩 만큼이나
중요한 것이 디버그 기능을 얼마나 잘 사용하냐인
만큼 , 디버그를 자주 사용하는 습관을 들여 자신의
프로그래밍 능력을 향상시키는 것이 가장 중요함.
By Kim Jong Uk
• Eclipse - debugging
이클립스에서 디버그 모드에
진입하게 되면 좌측과 같은
창이 나타난다. 여기에서 각
변수에 할당되어있는 값들이
무엇인지, 그리고 현재 브레이
크 포인트에는 어떠한 이벤트
상태 등이 있는지를 확인 할
수 있다.
By Kim Jong Uk
• Eclipse - debugging
단축키 기능
F5 해당 라인을 실행한다. 단 함수의 경우에는 함수의 내부 루틴
을 순환하게 된다.
F6 해당 라인을 실행한다. 단 함수의 경우에도 이를 무시하고 다
음 줄을 실행한다.
F7 현재 커서가 놓여있는 함수의 끝까지 이동한 후에 함수를 벗
어난다.
F8 현재 놓인 커서 까지 한번에 실행한다. 만약 커서(브레이크
포인트가 없다면)가 없다면 그냥 끝까지 진행한다.
디버깅을 위한 단축키
By Kim Jong Uk
Thank you !

More Related Content

PDF
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
PDF
Java8 & Lambda
PDF
씹고 뜯고 맛보고 즐기는 스트림 API
PPTX
자바 8 학습
PDF
자바8 스트림 API 소개
PDF
자바8 람다 나머지 공개
PDF
Lambda 란 무엇인가
PDF
java 8 람다식 소개와 의미 고찰
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
Java8 & Lambda
씹고 뜯고 맛보고 즐기는 스트림 API
자바 8 학습
자바8 스트림 API 소개
자바8 람다 나머지 공개
Lambda 란 무엇인가
java 8 람다식 소개와 의미 고찰

What's hot (19)

PDF
자바8 람다식 소개
PDF
SpringCamp 2013 : About Jdk8
PDF
JDK 변천사
PDF
자바8강의 2강. Stream API
PDF
Java 8 api :: lambda 이용하기
PDF
자바8강의 0강. java8 overview
PPTX
Java8 람다
PDF
5 swift 기초함수
PPTX
Kotlin with fp
PPTX
동작 파라미터와 람다 In java 8
PDF
iOS 메모리관리
PDF
스위프트 성능 이해하기
PPTX
JavaInAction 자바 8
PDF
6 swift 고급함수
PPTX
프론트엔드스터디 E04 js function
PDF
나에 첫번째 자바8 람다식 지앤선
PPTX
3. stream api
PPTX
빠르게 활용하는 파이썬3 스터디(ch1~4)
PDF
track2 04. MS는 Rx를 왜 만들었을까? feat. RxJS/ 네이버, 김훈민
자바8 람다식 소개
SpringCamp 2013 : About Jdk8
JDK 변천사
자바8강의 2강. Stream API
Java 8 api :: lambda 이용하기
자바8강의 0강. java8 overview
Java8 람다
5 swift 기초함수
Kotlin with fp
동작 파라미터와 람다 In java 8
iOS 메모리관리
스위프트 성능 이해하기
JavaInAction 자바 8
6 swift 고급함수
프론트엔드스터디 E04 js function
나에 첫번째 자바8 람다식 지앤선
3. stream api
빠르게 활용하는 파이썬3 스터디(ch1~4)
track2 04. MS는 Rx를 왜 만들었을까? feat. RxJS/ 네이버, 김훈민
Ad

Similar to Just java (20)

PPTX
Pyconkr2019 features for using python like matlab
PDF
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
PPTX
About Visual C++ 10
PPTX
Java collections framework
PDF
[211]대규모 시스템 시각화 현동석김광림
PDF
Java 8 & Beyond
PDF
2014.07.26 KSUG와 지앤선이 함께하는 테크니컬 세미나 - 나의 첫번째 자바8 람다식 (정대원)
PPT
자바와 사용하기2
PDF
TML studio & Beep 알고리즘 스터디, 오리엔테이션
PDF
Spring Boot 1
PDF
[131]chromium binging 기술을 node.js에 적용해보자
PDF
Java.next
PDF
ES6 for Node.js Study 4주차
PPTX
불어오는 변화의 바람, From c++98 to c++11, 14
PDF
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
PPTX
[하코사 세미나] 비전공자의 자바스크립트 도전기
PPT
Cygnus unit test
PPTX
TenforFlow Internals
PPTX
Pro android performance optimization 20171213
PDF
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
Pyconkr2019 features for using python like matlab
R.java가 사라졌어요 어떻하죠?:Aquery라이브러리와 안드로이드 개발팁
About Visual C++ 10
Java collections framework
[211]대규모 시스템 시각화 현동석김광림
Java 8 & Beyond
2014.07.26 KSUG와 지앤선이 함께하는 테크니컬 세미나 - 나의 첫번째 자바8 람다식 (정대원)
자바와 사용하기2
TML studio & Beep 알고리즘 스터디, 오리엔테이션
Spring Boot 1
[131]chromium binging 기술을 node.js에 적용해보자
Java.next
ES6 for Node.js Study 4주차
불어오는 변화의 바람, From c++98 to c++11, 14
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
[하코사 세미나] 비전공자의 자바스크립트 도전기
Cygnus unit test
TenforFlow Internals
Pro android performance optimization 20171213
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
Ad

Just java

  • 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 현재 놓인 커서 까지 한번에 실행한다. 만약 커서(브레이크 포인트가 없다면)가 없다면 그냥 끝까지 진행한다. 디버깅을 위한 단축키
  • 18. By Kim Jong Uk Thank you !