SlideShare a Scribd company logo
박혜웅
 추상화
 현실세계의 클래스화
 은닉화
 private 변수를 이용하여 변수를 숨기고,
 set...(), get...() 메소드를 이용하여 인터페이스 제공
 상속
 extends 키워드를 이용, 클래스 단일 상속만 지원.
 implements 키워드를 이용, 인터페이스 다중상속 지원
 다형성(상속이용)
 overriding: 부모의 메소드에 세 메소드 추가
 ride[타다]
 overloading: 부모의 메소드를 덮어버림
 load[싣다]
2
Access Modifier 어디서나 접근 하위 패키지에서 접근 같은 패키지 접근
public O O O
protected X O O
default(기본값) X X O
protected X X X
Usage Modifier class 키워드 앞 variable 앞 method 앞
static X 클래스 변수로 선언됨. 클래스 메소드로 선언됨
final 상속 불가 변경 불가 overriding 불가
abstract 객체 생성 불가 X 빈 메소드
3
메소드명 기능 예제
toString() 객체의 값을 문자열로 변환 String str = obj.toString();
equals() hashCode() 를 이용하여 같은 객체인지 비교 if( obj1.equals(obs2) )
clone() 객체 복사 obj2 = obj1.clone();
finalize() 객체 제거전 항상 자동으로 호출되는 메소드
getClass() 객체의 클래스 정보를 객체로 생성
Class info = ogj.getClass();
info.getname();
info.getSuperclass();
info.DeclaredField();
info.getDeclaredMethod();
4
클래스명 기능 비고
String 자열 관리 고정된 문자열에 사용
StringBuilder 문자열 관리 변경이 많은 문자열에 사용. 동기화 안함
StringBuffer 문자열 관리 변경이 많은 문자열에 사용. 동기화 함
StringTokenizer 문자열을 여러 개의 토큰으로 분리함.
5
타입 종류 예제
Primitive (원시형)
선얶 int a;
대입 a=10;
Array (배열)
선얶 int a[];
할당 a = new int[10];
대입 a[1] = 5;
Reference (클래스)
정의
class Person{
public int a;
}
선얶 Person p1;
할당 p1=new Person();
대입 p1.a = 5;
6
종류 type size 값의 범위 예제
문자 char 2 유니코드 1문자
char c = 'a';
char c = '한';
char c = 'n';
char c = 'uAAAA'
정수
byte 1 -27 ~ 27 -1 -128 ~ 127 byte b = (byte)5;
short 2 -215 ~ 215 -1 -32768 ~32767 short s = (short)30000;
int 4 -231 ~ 231 - 1 약 -21억 ~ 21억 int i = 1234567890;
long 8 -263 ~ 263 -1 약 922경 ~ 922경 long l = 1234567890123L
실수
float 4 float f = 3.14f;
double 8
double d = 3.14;
double d = 3.14d;
논리 boolean 1
boolean b = true;
boolean b = false;
 자동 형변환
 byte -> short,char -> int -> long -> float -> double
7
변환 코드 예제
원시형->객체 new 랩퍼클래스(원시형) Byte B = new Byte(b);
객체->원시형 객체.xxxValue() byte b = B.byteValue();
문자열->원시형 랩퍼클래스.parseXXX(문자열) int I = Integer.parseInt("123");
문자열->객체
랩퍼클래스.valueOf(문자열)
new 랩퍼클래스(문자열)
Integer I = Integer.valueOf("123");
Integer I = new Integer("123");
객체->문자열 객체.toString() String s = I.toString();
Primitive byte short char int long float double boolean
Wrapper Byte Short Character Integer Long Float Double Boolean
 Boxing & UnBoxing
 boxing: 원시형 -> 객체
 unboxing: 객체 -> 원시형
8
 try-catch-finally
 finally: 예외발생 여부에 관계없이 항상 실행
 catch: 상위 예외가 앞쪽에 오도록 순서 유지
 catch(Exception e){ }
 throws : 예외 발생시 호출한 곳으로 예외 전달
 void a() throws Exception{}
 class c throws Exception{}
 throw: 강제로 예외 발생
 void a(){ throw new Exception(); }
9
java.lang.Throwable
java.lang.Error java.lang.Exception
java.lang.RuntimeException java.io.IOException
java.lang.NullPointerException
java.lang.IndexOutOfBoundsException
10
인터페이스
주요 클래스
클래스
class Super{
void a() throws IOException{}
}
class Sub extends Super{
void a(){}
void a() throws IOException{}
void a() throws FileNotFoundException{}
void a() throws Exception{} //IOException하위클래스 아님
void a() throws SQLException{} //IOException하위클래스 아님
}
java.io.IOException
java.sql.SQLException
java.lang.Exception
java.io.FileNotFoundException
11
 Object
 String, StringBuffer, StringBuilder
 Math
 Date, Calendar, GregorianCalendar, Thread
 SimpleDateFormat, DecimalFormat, Formatter
12
 switch(변수) 에서 변수에 사용가능한 변수타입
 byte, char, short, int
 static import 키워드
 Static 클래스, 변수등의 패키지명 생략
 import static java.lang.Math.*;
 import static java.lang.System.out;
 enum 키워드
 기존 방식과 enum 사용방식 비교
13
기존코드 enum 사용코드
선얶
public class Gender{
public static final int MALE=1;
public static final int FEMALE=2;
}
public enum Gender{
MALE, FEMALE
}
사용
void printGender( int g )
switch(g)
case Gender.MALE: ~~~~~~
case Gender.FEMALE: ~~~~~~
}
void printGender( Gender g )
switch(g)
case MALE: ~~~~~
case FEMALE: ~~~~~
}

More Related Content

What's hot (20)

PDF
Haskell study 8
Nam Hyeonuk
 
PDF
Haskell study 12
Nam Hyeonuk
 
PPTX
0327.web&ruby&rails
민정 김
 
DOCX
자료구조 Project5
KoChungWook
 
PDF
Haskell study 2
Nam Hyeonuk
 
PDF
Start IoT with JavaScript - 6.함수
Park Jonggun
 
PDF
Haskell study 5
Nam Hyeonuk
 
PDF
Haskell study 14
Nam Hyeonuk
 
PPTX
Startup JavaScript 5 - 객체(Date, RegExp, Object, Global)
Circulus
 
PPTX
파이썬+함수이해하기 20160229
Yong Joon Moon
 
PDF
Reflect package 사용하기
Yong Joon Moon
 
PPTX
Startup JavaScript 6 - 함수, 스코프, 클로저
Circulus
 
PDF
Haskell study 10
Nam Hyeonuk
 
PDF
04장 고급변수 사용
유석 남
 
PDF
[Swift] Generics
Bill Kim
 
PDF
[Algorithm] Recursive(재귀)
Bill Kim
 
PDF
2012 Dm 07
Jungyerin
 
PDF
skku cp2 w4
웅식 전
 
PDF
Haskell study 7
Nam Hyeonuk
 
PDF
Binary Search
skku_npc
 
Haskell study 8
Nam Hyeonuk
 
Haskell study 12
Nam Hyeonuk
 
0327.web&ruby&rails
민정 김
 
자료구조 Project5
KoChungWook
 
Haskell study 2
Nam Hyeonuk
 
Start IoT with JavaScript - 6.함수
Park Jonggun
 
Haskell study 5
Nam Hyeonuk
 
Haskell study 14
Nam Hyeonuk
 
Startup JavaScript 5 - 객체(Date, RegExp, Object, Global)
Circulus
 
파이썬+함수이해하기 20160229
Yong Joon Moon
 
Reflect package 사용하기
Yong Joon Moon
 
Startup JavaScript 6 - 함수, 스코프, 클로저
Circulus
 
Haskell study 10
Nam Hyeonuk
 
04장 고급변수 사용
유석 남
 
[Swift] Generics
Bill Kim
 
[Algorithm] Recursive(재귀)
Bill Kim
 
2012 Dm 07
Jungyerin
 
skku cp2 w4
웅식 전
 
Haskell study 7
Nam Hyeonuk
 
Binary Search
skku_npc
 

Similar to C프로그래머를 위한 Java 기초 입문 (Java1.5 기준) (20)

PPTX
객체지향 프로그래밍 기본
용호 최
 
PPTX
[자바카페] 자바 객체지향 프로그래밍 (2017)
용호 최
 
PDF
Java 강의자료 ed11
hungrok
 
PPTX
Java Class File Format
Jongyoung Park
 
PPTX
[HaU] 신입 기술 면접 준비 java
유리 하
 
PPTX
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
MIN SEOK KOO
 
PPTX
java_2장.pptx
HeeJung Chae
 
PDF
Java programming pdf
Ji Hoon Lee
 
PPTX
Java, android 스터티3
Heejun Kim
 
PDF
Java advancd ed10
hungrok
 
PDF
Java_02 변수자료형
Hong Hyo Sang
 
PDF
Java 변수자료형
Hyosang Hong
 
PDF
Java(2/4)
handfoot
 
PPTX
Processing 기초 이해하기_20160713
Yong Joon Moon
 
PDF
Java tutorial
ssuser34b989
 
PDF
Java_06 상속
Hong Hyo Sang
 
PDF
Java extends
Hyosang Hong
 
PDF
Java(1/4)
handfoot
 
PPTX
이것이 자바다 Chap. 6 클래스(CLASS)(KOR)
MIN SEOK KOO
 
PDF
Java in 2 hours
Kenu, GwangNam Heo
 
객체지향 프로그래밍 기본
용호 최
 
[자바카페] 자바 객체지향 프로그래밍 (2017)
용호 최
 
Java 강의자료 ed11
hungrok
 
Java Class File Format
Jongyoung Park
 
[HaU] 신입 기술 면접 준비 java
유리 하
 
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
MIN SEOK KOO
 
java_2장.pptx
HeeJung Chae
 
Java programming pdf
Ji Hoon Lee
 
Java, android 스터티3
Heejun Kim
 
Java advancd ed10
hungrok
 
Java_02 변수자료형
Hong Hyo Sang
 
Java 변수자료형
Hyosang Hong
 
Java(2/4)
handfoot
 
Processing 기초 이해하기_20160713
Yong Joon Moon
 
Java tutorial
ssuser34b989
 
Java_06 상속
Hong Hyo Sang
 
Java extends
Hyosang Hong
 
Java(1/4)
handfoot
 
이것이 자바다 Chap. 6 클래스(CLASS)(KOR)
MIN SEOK KOO
 
Java in 2 hours
Kenu, GwangNam Heo
 
Ad

More from 혜웅 박 (9)

PDF
비트벡터
혜웅 박
 
PPTX
구글을 지탱하는 기술 요약 - Google 검색
혜웅 박
 
PPTX
구글을 지탱하는 기술 요약 - Bigtable
혜웅 박
 
PPTX
구글을 지탱하는 기술 요약 - GFS
혜웅 박
 
PDF
Java 자료구조 비교 (Java1.6 기준)
혜웅 박
 
PDF
추천시스템과 협업필터링
혜웅 박
 
PDF
국문학 용어 정리
혜웅 박
 
PDF
한국어의 문장 성분
혜웅 박
 
PDF
컴퓨터 자료구조 중에서 Tree 에 속한 자료구조 분류표
혜웅 박
 
비트벡터
혜웅 박
 
구글을 지탱하는 기술 요약 - Google 검색
혜웅 박
 
구글을 지탱하는 기술 요약 - Bigtable
혜웅 박
 
구글을 지탱하는 기술 요약 - GFS
혜웅 박
 
Java 자료구조 비교 (Java1.6 기준)
혜웅 박
 
추천시스템과 협업필터링
혜웅 박
 
국문학 용어 정리
혜웅 박
 
한국어의 문장 성분
혜웅 박
 
컴퓨터 자료구조 중에서 Tree 에 속한 자료구조 분류표
혜웅 박
 
Ad

C프로그래머를 위한 Java 기초 입문 (Java1.5 기준)

  • 2.  추상화  현실세계의 클래스화  은닉화  private 변수를 이용하여 변수를 숨기고,  set...(), get...() 메소드를 이용하여 인터페이스 제공  상속  extends 키워드를 이용, 클래스 단일 상속만 지원.  implements 키워드를 이용, 인터페이스 다중상속 지원  다형성(상속이용)  overriding: 부모의 메소드에 세 메소드 추가  ride[타다]  overloading: 부모의 메소드를 덮어버림  load[싣다] 2
  • 3. Access Modifier 어디서나 접근 하위 패키지에서 접근 같은 패키지 접근 public O O O protected X O O default(기본값) X X O protected X X X Usage Modifier class 키워드 앞 variable 앞 method 앞 static X 클래스 변수로 선언됨. 클래스 메소드로 선언됨 final 상속 불가 변경 불가 overriding 불가 abstract 객체 생성 불가 X 빈 메소드 3
  • 4. 메소드명 기능 예제 toString() 객체의 값을 문자열로 변환 String str = obj.toString(); equals() hashCode() 를 이용하여 같은 객체인지 비교 if( obj1.equals(obs2) ) clone() 객체 복사 obj2 = obj1.clone(); finalize() 객체 제거전 항상 자동으로 호출되는 메소드 getClass() 객체의 클래스 정보를 객체로 생성 Class info = ogj.getClass(); info.getname(); info.getSuperclass(); info.DeclaredField(); info.getDeclaredMethod(); 4
  • 5. 클래스명 기능 비고 String 자열 관리 고정된 문자열에 사용 StringBuilder 문자열 관리 변경이 많은 문자열에 사용. 동기화 안함 StringBuffer 문자열 관리 변경이 많은 문자열에 사용. 동기화 함 StringTokenizer 문자열을 여러 개의 토큰으로 분리함. 5
  • 6. 타입 종류 예제 Primitive (원시형) 선얶 int a; 대입 a=10; Array (배열) 선얶 int a[]; 할당 a = new int[10]; 대입 a[1] = 5; Reference (클래스) 정의 class Person{ public int a; } 선얶 Person p1; 할당 p1=new Person(); 대입 p1.a = 5; 6
  • 7. 종류 type size 값의 범위 예제 문자 char 2 유니코드 1문자 char c = 'a'; char c = '한'; char c = 'n'; char c = 'uAAAA' 정수 byte 1 -27 ~ 27 -1 -128 ~ 127 byte b = (byte)5; short 2 -215 ~ 215 -1 -32768 ~32767 short s = (short)30000; int 4 -231 ~ 231 - 1 약 -21억 ~ 21억 int i = 1234567890; long 8 -263 ~ 263 -1 약 922경 ~ 922경 long l = 1234567890123L 실수 float 4 float f = 3.14f; double 8 double d = 3.14; double d = 3.14d; 논리 boolean 1 boolean b = true; boolean b = false;  자동 형변환  byte -> short,char -> int -> long -> float -> double 7
  • 8. 변환 코드 예제 원시형->객체 new 랩퍼클래스(원시형) Byte B = new Byte(b); 객체->원시형 객체.xxxValue() byte b = B.byteValue(); 문자열->원시형 랩퍼클래스.parseXXX(문자열) int I = Integer.parseInt("123"); 문자열->객체 랩퍼클래스.valueOf(문자열) new 랩퍼클래스(문자열) Integer I = Integer.valueOf("123"); Integer I = new Integer("123"); 객체->문자열 객체.toString() String s = I.toString(); Primitive byte short char int long float double boolean Wrapper Byte Short Character Integer Long Float Double Boolean  Boxing & UnBoxing  boxing: 원시형 -> 객체  unboxing: 객체 -> 원시형 8
  • 9.  try-catch-finally  finally: 예외발생 여부에 관계없이 항상 실행  catch: 상위 예외가 앞쪽에 오도록 순서 유지  catch(Exception e){ }  throws : 예외 발생시 호출한 곳으로 예외 전달  void a() throws Exception{}  class c throws Exception{}  throw: 강제로 예외 발생  void a(){ throw new Exception(); } 9
  • 11. class Super{ void a() throws IOException{} } class Sub extends Super{ void a(){} void a() throws IOException{} void a() throws FileNotFoundException{} void a() throws Exception{} //IOException하위클래스 아님 void a() throws SQLException{} //IOException하위클래스 아님 } java.io.IOException java.sql.SQLException java.lang.Exception java.io.FileNotFoundException 11
  • 12.  Object  String, StringBuffer, StringBuilder  Math  Date, Calendar, GregorianCalendar, Thread  SimpleDateFormat, DecimalFormat, Formatter 12
  • 13.  switch(변수) 에서 변수에 사용가능한 변수타입  byte, char, short, int  static import 키워드  Static 클래스, 변수등의 패키지명 생략  import static java.lang.Math.*;  import static java.lang.System.out;  enum 키워드  기존 방식과 enum 사용방식 비교 13 기존코드 enum 사용코드 선얶 public class Gender{ public static final int MALE=1; public static final int FEMALE=2; } public enum Gender{ MALE, FEMALE } 사용 void printGender( int g ) switch(g) case Gender.MALE: ~~~~~~ case Gender.FEMALE: ~~~~~~ } void printGender( Gender g ) switch(g) case MALE: ~~~~~ case FEMALE: ~~~~~ }