블로그 이미지
DovewinG
사랑합니다~                   

calendar

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 31

Notice

'도브의 프로그래밍/Java'에 해당되는 글 18

  1. 2010.12.07 JAVA 인터페이스1
  2. 2010.11.30 JAVA 추상 메소드
  3. 2010.11.23 JAVA 수업 6장 상속과 인터페이스
  4. 2010.11.16 자바 수업
  5. 2010.11.09 JAVA 수업
  6. 2010.11.02 5장 2번째
  7. 2010.10.26 과제
  8. 2010.10.26 수업 5장. 객체와 클래스
  9. 2010.10.12 LAB2
  10. 2010.10.05 Java 수업
2010. 12. 7. 15:04 도브의 프로그래밍/Java

익셉션을 발생하는 추상 메소드

interface Lendable{

abstract void checkOut(String borrower, String date) throws Exception;
throw new Exception("대출불가"+bookTitle);

throws와 - 이 메소드를 불러 오는 애들은 반드시 try capture문을 지정해야한다.
메소드 시그네쳐에서 익셉션 발생한다는것을 선언 할때는 throws를 사용
throw new Exception - 실제 익셉션 객체를 만들어 발생 시킬때는 throw를 사용

변환 인터페이스
인터페이스 -> 클래스 상속 받을때는 interface implement
클래스 -> 클래스 상속은 extends
interface Transformable extends Movable { }

인터페이스 -> 인터페이스 상속은 interface extends

인터페이스가 클래스를 상속받을순 없다.
클래스 -> 인터페이스 상속 X


%가 붙으면"" 뒤에 나오는 실제값으로 대치가 된다.
System.out.printf("사각형: 위치(%d, %d) 크기(%d x %d) \n", obj.x, obj.y, obj.width, obj,height);
%d가 4개 "" 안에서는 폼을 나타내는 것이다. 값이 순차적으로 들어간다.

먼저 포맷을 정의 해 줄수 있다.
Rectangle 클래스 이용


클래스가 -> 여러개 인터페이스 다중 상속 가능
인터페이스가 -> 여러개 인터페이스 다중 상속 가능


두개의 인터페이스를 동시에 상속받는 외형변경 인터페이스

1 place maintenance

라벨클래스를 사용하는


레퍼런스 타입

프리미티브 타입(원시타입?, 기본 제공 데이터 타입)

레퍼런스 타입 - 사용자 정의 클래스타입, 자바 정의 클래스 타입(ex String, API 클래스)

레퍼런스 타입 - 열거타입, 배열타입, 인터페이스 타입, 클래스 타입
(클래스-> 객체 생성 하는 식을 생각하면 됨)

Point obj = new Point(10, 20); -> point 객체가 있는 주소값을 Point obj 변수함에 가리킨다.

@ 앳 주소 ex Point@c17164

obj2 = obj1; 레퍼런스 타입을 다른 레퍼런스 타입에 대입하면
하나의 객체를 두개의 변수가 가리키는 형태가 된다.

두개의 레퍼런스가 동일한 객체를 가리키기 때문에
의도치 않게 값을 모두 바꿔 버릴수 있다.


레퍼런스 타입 파라미터를 메소드 안에서 수정

*메소드 매개변수로 객체 타입을 넣어도 새 객체를 만들어 입력하는 것이 아니라
기존에 있는 객체(참조값이기때문에)의 값을 사용한다.

null 참조값 : 아무 데이터도 가리키지 않는 참조값
Point obj; 
Point obj2 = null; <- 아무 값도 없다는 초기화
이 상태에서 obj2.메소드 객체를 실행하면 null pointer 익셉션 발생

대치성,다형성
자식 클래스가 부모 클래스를 대치 할수 있다.

supuer( , , ,) 부모 클래스 초기화값을 가져온다.


서브타입
부모 클래스의 객체가 구동하는데 자식 클래스의 객체를 대신 써도 구동된다면 자식 클래스는 부모 클래스의 서브타입이다.

상속관계에서 하위개념에 있는 것이 상위개념의 서브타입이다.

obj2 = obj1;
이 성립하려면 obj1 = obj2 같은 타입이거나, obj1이 obj2의 서브타입이어야한다.

레퍼런스 타입에 캐스트 연산자를 사용하는 방법
obj2 = (CheckingAccount) obj1;
          캐스트 연산자

프리미티브 타입 - 캐스트 연산자 ->  테이터 타입이 바뀐다.
레퍼런스 타입 - 캐스트 연산자 -. 객체의 타입을 보증하는 역할만 한다. (내부 객체가 바뀌진 않는다.)

instanceof 연산자
이 객체가 어느 클래스에서 파생된 객체인지 알려준다.
(캐스트 연산 가능성을 검사 하는 연산자. 자바 키워드)
obj instanceof CheckingAccount
obj 객체가 CheckingAccount 클래스로부터 나온 객체인지 확인해준다.

열거 타입
한정된 수의 값을 표현할때 씀(상수형태)
ex) 월,화,수,목,금,토,일   ,봄,여름,가을,겨울

열거타입도 데이터 타입의 한 종류다

열거타입의 이름과
열거 타입에 속하는 값의 이름들을 정해야 한다.
인스턴스화 되어있다.
열거 타입 선언 키워드 = enum Season {SPRING, SUMMER, FAIL, WINTER} 콤마로 구분한 열거 값의 이름들

열거 타입의 변수
Season season;
열거타입 변수 사용
season = Season.SPRING;
스프링의 값이 시즌에 들어간다.

클래스 안에 클래스에 종속되어 열거 할수 있다.
클래스/인터페이스 안에 선언된 열거 타입은 그 클래스/인텊이스에 종속된다.
사용방법
seaspm = ClothingInfo.Season.SPRING;
     열거타입이 속하는 클래스, 열거 타입,

values 메소드 <- 모든 열거 상수를 리턴하는 메소드
valueOf 메소드 정적메소드(static) <- 주어진 문자열에 해당하는 열거 상수를 리턴
열거 상수


enum  필드, 생성자;
final private String name;

final private String name;
Season(String name) 파라미터를 위와같이 한다.



























posted by DovewinG
2010. 11. 30. 15:45 도브의 프로그래밍/Java

추상 클래스를 상속 받으면
하위 클래스는 추상 클래스에 있는 메소드는 다 구현 해야한다.

객체 지향의 꽃
다형성 폴리모포즘
한가지의 형태가 여러가지에 쓰일수 있다.

ex)
TOP DOWN 방식
Account 클래스

CheckingAccount 클래스  CreditLineAccount클래스
상속을 통해 만들어진 클래스는 슈퍼 클래스와 비슷한 양상을 띕니다.

CheckingAccount 객체, Account 객체, CreditLineAccount 객체

슈퍼클래스 변수에는 서브클래스 객체를 대입할 수 있습니다.

Account 클래스 와 CheckingAccount 클래스의 객체와 연관이 있다. -> 다형성

Account acc = new Account()
acc라는 변수에 Account라는 데이터타입에 대입할수 있는 타입(구조)를 생성

Account acc = new CreditAccount()

CreditAccount()에 의해 생성된 객체가 acc에 들어간다.

Account (슈퍼클래스) CreditAccount(서브클래스)
서브 클래스는 슈퍼클래스의 구조를 모두 포함하고 있다.

서브 객체(다수의 데이터량 - 부모클래스 데이터+자신의 데이터) 를 부모의 레퍼런스 타입의 변수 acc에 넣는다?

큰 데이터를 -> 작은 틀에 넣는다.

int a = 3.2 -> a에는 3만 저장된다.   0.2는 버려짐

CreditAccount()의 객체를 acc에 집어 넣으면
부모 클래스에서 정의 해 놓은 속성과 메소드까지만 접근 가능

--------   
Account                
--------
account
balance
name
--------
withdraw()
deposite()
--------

상속받은
--------------
CreditAccount
--------------
credit
--------------
creditwithdraw()
---------------

Account obj;
obj = new Account("11","ggg",100);
obj new CheckingAccount(444","hhh", 30, "0000");

static void printAccountInfo(Account obj)
Account 객체의 obj의 매개변수로 받겠다.
다양한 타입의 객체를 한 타입의 파라미터 변수로 받는다.


printAccountInfo(obj2);

상속관계(inheritance) 클래스 -> is a 관계 (ISA)
SubClass is a SuperClass
CreditLine Class is an Account Class

서브클래스는 수퍼클래스의 기능(?)을 대신할 수 있지만
수퍼클래스는 서브클래스를 대신할 수 없다.

다형성과 메소드 오버라이딩


스태팃 바인딩 - 코드만 보고 어느 메소드를 호출할것인지 보인다.
컴파일할때 결정됨

late 바인딩, 다이나믹 바인딩

어느 객체가 들어가는지에 따라 바뀐다.

커뮤니케이션이 서로 다른 두 객체가 서로 커뮤니케이션 할수 있도록 해 주는 것이 인터페이스(일반적인 개념)

자바의 인터페이스

일반 클래스
abstract 클래스
인터페이스

자바에서는 클래스의 다중 상속을 허용하지 않는다.

다중상속 - 여러 부모클래스로부터 한 자식클래스가 상속받는다.
다중상속의 장점을 넣기 위해 나온것 - 인터페이스


인터페이스 - 추상 메소드처럼 메소드 시그네쳐(메소드이름,매개변수정보)만 구현한다.
ex) interface Lendable{
abstract void checkOut( String borrower, String date);
abstract void checkIn();
}
인터페이스의 특징
인터페이스 - 추상 메소드처럼 메소드 시그네쳐(메소드이름,매개변수정보)만 구현한다.
인터페이스는 객체 생성 불가
인터페이스에서 정의된 속성은 모두 static final 이 적용되어 상수화 된다.

인터페이스는 공통된 속성을 추출할수 없기때문에 기능(메소드)만 정의 한다.
클래스 상속 - extend
인터페이스로 공통 메소드로 추출할때
implements(구현함) 키워드 씀

메소드 이름은 동사형태로 이름을 만든다. 속성은 명사형태
인터페이스에서 메소드를 정의 할때 public 붙어야한다.
public은 메소드를 오픈하여 모든곳에서 쓸수 있게 한다.

extends 절과 implements 절이 모두 있는 클래스의 선언 방법
extends CDInfo (하나만 가능) implements Lendable, ddd, aaa (여러개 가능)

인터페이스를 가지고 할 수 있는 일
클래스의 선언 방법을 제한할 수 있다.
-> 클래스 안에서 구현해야할 메소드를 지정할수 있다.
인터페이스 변수 선언에 사용됨

Lendable obj;

인터페이스 자체는 객체를 생성할수 없지만
인터페이스 클래스를 상속한 클래스에서 객체를 만들어 인터페이스 클래스에 집어넣을순 있따.(다형성)










posted by DovewinG
2010. 11. 23. 15:37 도브의 프로그래밍/Java

상속
코딩시간 단축, 에러 최소화

extends        클래스 이름
자바 키워드   상속할클래스 이름
기존에 있는 메소드를 이용하여 정의 한다.

String은 레퍼런스타입으로 클래스타입이다. 그래서 대문자로 시작

String 클래스에 있는 equals 메소드 = 선언된 String이 가지고 있는 문자열과 문자열을 비교
ex) if (!cardNo.equals(this.cardNo)
! = not
|| = or

exeption
try{}
catch(Exception e){
//e = type
String msg = e.getMessage();
//Exception 클래스에 e라는 변수


슈퍼클래스, 부모클래스
브클래스, 자식클래스

생성자가 있는 클래스의 상속
-자바 컴파일러는 생성자 안의 첫번째 명령문이 슈퍼클래스의 생성자 호출문이 아니면 자동으로 슈퍼클래스의 파라미터 없는 생성자(no-arg constructor) 호출문을 추가 한다.

this() 내 클래스에서 다른 생성자를 부를때

부모클래스의 생성자를 호출할때는 super를 사용한다.
super(accountNo, ownerName, balance, 매개변수);

메소드 오버로딩
클래스 안에서 동일한 이름을 가진 메소드 여러개를 정의 할수 있음
하지만 이 메소드는 서로 다른 것으로 인식 함(매개변수의 수와 종류

메소드 오버라이딩
속관계에 있는 클래스에서
부모 클래스에서 정의 되어있는 메소드를 자식 클래스에서 다시 정의를 한다.

부모클래스의 메소드를 자식메소드의 구미에 맞게 재정의 한다. = 메소드 오버라이딩
-> 이름은 동일하지만 서로 다른 기능, 다른 객체(?)가 된다.

부모클래스 메소드를 그대로 가져 와스 쓰지 못하니
자식 클래스에서 재정의 하겠다.

부모, 자식 클래스의동일한 메소드, 호출
super.deposit(amoount);

this() = 같은 클래스 안에서 동일한 이름이나 다른 메소드 호출
super() = 부모, 자식 상속관계 메소드에서 자식 생성자 메소드에서 부모 생성자 메소드를 부를때
this. = 동일한 클래스 내에서 클래스 속성이나 메소드의 매겨변수, 이름이 동일할때 두개를 구별하기 위해 씀
super. = 부모, 자식 상속관계에 있는 두 쿨래스에서 부모 클래스에 있는 속성or 메소드를 부르기 위해

ex) 하나의 알고리즘이 변형되었을때 이 알고리즘을 사용하는 클래스가 100개라면
일일이 바꿔주기보다
하나의 중심 클래스를 통해 상속하면
한번만 바꿔주면 된다.

final 키워드를 추가 한 클래스
- 상속을 금지하는 키워드
final class Account

메소드 오버라이딩을 금지하는 final 키워드
더 이상 오버라이딩 시킬수 없다.
final int withdraw(int amount(

인스턴스화를 금지하는 abstract 키워드 - 추상화, 생략?
abstract class Account
abstract int withdraw
->이 클래스는 객체를 생성할 수 없다. 아직 구체적으로 생성되지 않았따.
메소드 시그네쳐 (리턴타입 이름 매개변수)
abstract 메소드는 메소드 시그네쳐만 구현한다.
내부 구현이 되지 않고 틀만 만든다.

추상메소드(abstract method):  메소드 본체가 없는 메소드
추상 메소드가 필요한 경우

추상 메소드 = abstract 키워드가 꼭 들어가야 하며
{} 중괄호가 사용되지 않아야한다.
ex ) Student();


각 클래스중에

공통된 메소드를 부모 클래스에 추상화 메소드로 정의한다.
속성 부분도 공통된 부분을 부모 클래스 속성에 정의

혼자서 프로그래밍 할때는 불필요할수 있으나
대형 프로젝트, 여러명이 할때

초기 구조를 설계 할때( 클래스 구조 설계) 틀을 만들어 주고 (추상화 클래스)
각 부서에서 알아서 구현
각 부서간 통신을 위해 인터페이스 매개변수 정보 등은 통일한다.
호출할때 규격화된 방법으로 메소드를 호출한다.

abstract void sendMessage(String recipient);
본체 대신 세미클론을 써야 함. {} -> ;
메소드 선언 != 정의
선언 = 메소드의 시그네쳐만 만들어 놓은것
정의 = {메소드의 알고리즘}

정의 = 콘크리트 메세지 구현

추상 클래스는 추상메소드를 하나 이상 포함한다(?)

추상 클래스를 상속받은 하위 클래스에서는 반드시 추상 메소드 본체를 구현 해 줘야한다.
안그러면 하위 클래스도 추상 클래스가 되어 버린다.







일반적인 클래스는 concreat 콘크리트 클래스 (구체화된 클래스)
->객체를 이 클래스로부터 생성할 수 있다.











posted by DovewinG
2010. 11. 16. 16:28 도브의 프로그래밍/Java

속성, 메소드
static 붙을수도 있고 안붙을수도 있다.
메소드에 static이 붙으면 클래스에서 객체 생성시
객체마다 메소드가 복사 되지 않고 클래스만 가지고 있는다.
클래스 메소드

속성에 static이 붙으면 객체가 생성시 속성이 복사 되지 않고
본체클래스만 속성을 가지게 된다.
클래스 필드

static이 안붙은 메소드는 반드시 객체(인스턴스)를 생성 한 뒤 사용 해야 한다.
인스턴스 메소드, 인스턴스 속성(필드)


익셉션 처리는 메소드 단위로 이루어진다.
try {}
catch{}

catch(java.lang.ArithmeticException e) {
 System.out.println("에러 발생");
}
e = 익셉션이 넘어왔을때 저장할수 있는 변수(객체?)

인위적인 익셉션의 발생
throw 키워드를 이용 하여 익셉션 객체 생성
ex) throw new Exception();
throw문으로 시작, 익셉션 객체를 생성하는 생성식

ex) throw new Exception("잔액이 부족");

메소드 오버로딩
메소드와 메소드 호출문의 파라미터 수, 타입, 순서가 맞아야 한다.

메소드 시그니쳐(method signature) 메소드의 구성 형식
(메소드의 이름, 파라미터 변수의 수, 타입, 순서)


정적 필드(static field)
이 클래스에서 객체가 몇개나 생성되었는가
라는 통계를 낼수 있다.


static field를 접근할때는
클래스.이름 으로 접근해야 하나
객체이름.이름 으로 접근 해도 에러가 발생하지 않고
클래스.이름과 동일하게 구동 되도록 java에서 처리 되어있다.


상수 필드
final static in UPPER_LIMIT = 1000000;
static final int UPPER_LIMIT = 1000000;
상수를 표현할때 보통 대문자로 표현한다.

정적 메소드

정적 초기화 블록: static 키워드가 붙은 블록
메인메소드가 실행되기 전에 static 블록이 먼저 실행이 된다.

프로그램이 실행 되기 전 미리 초기화 할경우 static 블록을 사용
static 블록은 한번만 호출 된다.

정적 초기화 블록
static 블럭이 여러개일때는 순서대로 실행






posted by DovewinG
2010. 11. 9. 15:46 도브의 프로그래밍/Java
필드의 디폴트값
수치타입 = 0
불리언타입 = false
레퍼런스타입 = 그 밖의 모든 타입 = null
프리미티브타입
레퍼런스타입 String


둘 이상의 생성자
생성자가 이름은 같지만 매개변수의 정보를 비교하여 동일한지 아닌지 판단한다.
정보 = 매개변수 데이터타입, 수, 순서
매개변수의 이름은 다르더라도 위 정보가 동일하면 같은 메소드로 인식


get,
속성값을 읽어 오는 메소드
값을 읽어와서 반환해야하기때문에
속성의 데이터타입과 동일한 반환형을 쓴다.

 
set 메소드
속성값의 내용을 변경 시키는 메소드

set 메소드는 대부분 void 타입이다. 덮어쓰면 되기때문에 반환하지 않는다.



이름이 같아도 매개변수가 다르면 다른 메소드라고 인식한다.

생성자 안에서 다른 생성자를 호출하는 방법
this(name,id,password);

메소드 이름 대신 this를 쓴다.
this(부르고싶은 생성자의 매개변수의 인수에 맞게끔 인수를 지정)


클래스의 속성 정의는 위치가 어디에 있든 상관없다.



접근 범위

private 필드를 갖는 클래스는
클래스 외부에서의 접근은 금지 시키는 키워드로
클래스 외부에서는 접근 불가능하고
클래스 내부에서의 접근만 가능하다.

같은 패키지 내에서 접근 가능
프로젝트 폴더의 하위 폴더 = 패키지


final 선언은 - 명시적으로 처기화를 시켜 줘야 한다.
(실제 프로그래머가 생성 해줘야한다.)

Static - Static

Static 메소드에 붙으면 = 클래스에서 객체를 생성할때 static이 붙은 메소드는 복사가 제외한다.

클래스에만 존재 하는 메소드가 된다.

스태틱메소드,
(클래스메소드) 는 호출시
클래스이름.메소드이름
 으로 호출한다.
클래스 내에서는 클래스이름생략 가능

인스턴스 = 객체
인스턴스 메소드 = 객체별로 가지고 있는 메소드
호출시 어떤 객체가 가진 메소드인지 일러줘야한다.
객체명.메소드


posted by DovewinG
2010. 11. 2. 16:46 도브의 프로그래밍/Java
UML

this.name = name

name는 매개변수로 받는 속성
this.name은 객체를 생성할때 새롭게 생성된 객체의 name 속성


11월2일 Lab 4 객체의 생성 및 클래스 생성 실습 자료



posted by DovewinG
2010. 10. 26. 16:53 도브의 프로그래밍/Java
posted by DovewinG
2010. 10. 26. 16:41 도브의 프로그래밍/Java

자바 = 객체 지향 언어
★ 객체란? 클래스란?
★ 객체의 생성과 사용 방법
★ 클래스 선언의 기초 문법
★ 클래스의 정적 구성 요소

프로그래밍 기술의 변천 과정
기계어와 어셈블리어 -> 일상 언어를 닮은 고급 프로그래밍 언어 -> 구조적 프로그래밍 기법 -> 새로운 프로그래밍 기법의 필요성

객체지향프로그래밍 : 현실세계를 모방한 객체 지향 프로그래밍
상호작용하는 객체들로 이루어진 프로그램

객체 = 속성 + 행위를 가지고 있다
데이터 + 기능 으로 표현하자

클래스 = 같은 종류의 객체들의 공통된 데이터 구조와 기능을 정의
붕어빵틀 = 객체(붕어빵 결과물)

클래스의 이름
클래스의 속성(데이터) Field
클래스의 기능(메소드)

객체 만드는구문
class Account {
...
obj = new Account();
               생성자
메소드는 이름 첫자를 소문자로 시작한다
Account는 첫자가 대문자다
메소드의 이름이 클래스 이름과 같다.
생성자 라는 메소드이다. (construct)
생성자 메소드는 클래스 이름과 정확히 일치 한다.

Account 클래스와 동일한 구조를 가지는 객체를 생성한다.

new StringBuffer("hey, Java") -> 메모리상에 객체가 생성된다. (obj = 변수에 넣어줘야한다.그래야 접근가능)
new = 객체를 만들때 사용하는 자바 키워드(연산자)
StringBuffer = (첫자 대문자 - 생성자)클래스 이름
("Hey, Java") = 객체 생성에 사용되는 값

객체를 담는 변수의 선언
StringBuffer obj;
자바 기본 데이터 타입 - 프리미티브 타입(원시 데이터타입)
사용자가 정의한 데이터 타입(클래스 타입) = 레퍼런스 타입

API = Application interface
ex) Integer.parseint();
http://java.sun.com API 규격서 홈페이지

StringBuffer = 문자열을 편집하는 메소드
입력받은 스트링(문자값)값을 내부적으로 편집(자리바꾸기 수정 등등) 할수 있다.

객체의 생성
 변수선언
GoodsStock obj;

객체 생성
obj = new GoodsStock();

필드의 사용
obj.goodsCode = "52135";
obj.stockNum = 200;

메소드의 호출
obj.addStock(1000);

생성자 = 객체 생성 및 초기화









posted by DovewinG
2010. 10. 12. 17:19 도브의 프로그래밍/Java
posted by DovewinG
2010. 10. 5. 15:58 도브의 프로그래밍/Java

Break;
중첩된 반복문을 한꺼번에 빠져 나가는 방법
1) 반복문에 레이블(Label)을 붙인다.
2) break 문에 레이블을 지정한다.
ex)
loop:
   for (int cnt = 0; cnt < 100; cnt++) {
        System.out.println(cnt);
     if (cnt >10)
       break loop;
   }

continue;
반복문 안에서만 사용 가능
반복문의 다음번 반복을 계속 하는 기능
만족 하는 반복문을 건너 뛰고 다음 반복문을 수행

메소드 호출문

static void 메소드이름(매개변수)   voind=리턴타입

메소드를 정의한다.
내부 구조까지 갖추고 있다.

메소드를 선언한다.
메소드 이름 리턴 타입 매개변수만 정해 놓은 것


메소드 이름(매개변수 값)
매개변수가 실행 될때 실제 들어 가는 값 : argument 아규먼트 (인자, 인수)

static 쉽게 말하면
static이 붙은 메소드에서 다른 메소드를 호출할때 호출 받는 메소드도 static이 정의 되어야
호출 될수 있다. 자세한 설명은 나중에.

parameter 변수

메소드 호출문의 작성법

메소드이름(파라미터1, 파라미터2, 파라미터3);
파라미터는 하나도 없을 수도 있고, 1개 이상 여러개 있을 수도 있다.

결과를 리턴하는 메소드
리턴 값(return value): 메소드가 호출한 쪽으로 넘겨주는 메소드의 실행결과
리턴 값을 리턴하는 메소드 호출문의 형식
변수 = 메소드이름(파라미터1, 파라미터2, 파라미터3);

static int add(int num1, int num2) {
int = 반환될 결과값의 타입 설정

void = 리턴값이 없다는 의미
return sum;
sum을 반환

main 메소드의 파라미터
public static void main(String args[]) {
클래스 실행시 특정 값을 메인메소드에 파라미터로 넘겨줄수 있다.

inhenced for문

exception:예외 - 자바에서 에러를 지칭 하는 용어
try문
try블록 익셉션이 발생할만한 구문을 블록
try블록  해당 익셉션을 잡아 해결 할수 있는 catch블록을 찾는다.
finally블록은 익셉션이 발생하건 말건 실행 (생략 가능)

10월 5일자 자료




posted by DovewinG
prev 1 2 next