23
LOGO 백백백백백 백백백백백백백백 LAB1111 백 Java Programming 3백 Java Programming

Java Programming 3 장

  • Upload
    garren

  • View
    66

  • Download
    7

Embed Size (px)

DESCRIPTION

Java Programming. Java Programming 3 장. 백석대학교 인터넷멀티미디어 LAB1111 호. 목 차. 자바 클래스 자바 클래스와 멤버 this, static, final 지정 예약어 과제. 1. 자바 클래스. 클래스의 기본 구성 형식 – 클래스 접근 _ 제한자 지정 _ 예약어 class 클래스명 extends 상위 _ 클래스 implements 상위 _ 인터페이스 ( 들 ) { 내용부 ; 내용부 ; ----- 내용부 ; } 형식 - 단순형 클래스 - PowerPoint PPT Presentation

Citation preview

Page 1: Java Programming 3 장

LOGO

백석대학교 인터넷멀티미디어 LAB1111 호

Java Programming3 장

Java Programming

Page 2: Java Programming 3 장

목 차

1. 자바 클래스

2. 자바 클래스와 멤버

3. this, static, final 지정 예약어

4. 과제

Page 3: Java Programming 3 장

1. 자바 클래스

I. 클래스의 기본 구성 형식 – 클래스

접근 _ 제한자 지정 _ 예약어 class 클래스명 extends 상위 _ 클래스 implements 상위 _ 인터페이스( 들 )

{내용부 ;내용부 ;-----내용부 ;

}

형식 - 단순형 클래스Class 클래스명 {

내용부 ;내용부 ;-----내용부 ;

}

Page 4: Java Programming 3 장

1. 자바 클래스

Class examplepublic class Test{

int[] sub = new int[4];float avg;

public static void main(String[] args){-----

}}class Test{

int[] sub = new int[4];float avg;

void calc(){----

}}

Page 5: Java Programming 3 장

1. 자바 클래스

클래스에 포함되는 멤버들① Nested Class : 중첩 클래스라 부르며 하나의 그룹

내에서 또 다른 그룹으로 표시될 수 있다 .

② Field : 필드는 다른 언어에서 변수라고 불리는 부분이다 .

③ Construct : 생성자는 하나의 그룹이 생겨날 때 각 필드들의 데이터 값을 초기화하는 역할을 해준다 . 메서드처럼 행위를 기술하는 부분이다 .

④ Method : C 언어에서 함수와 비슷한 역할을 하는 것 이다 .

Page 6: Java Programming 3 장

1. 자바 클래스

앞서 말한 클래스 선언의 완벽한 형태를 지난 소스

Page 7: Java Programming 3 장

1. 자바클래스

II. 클래스 사용법 클래스 객체 생성 규칙

클래스명 객체명 = new 클래스 생성자명 ( 매개 _ 변수들 );

ExampleTest name = new Test();

name.cal();

Page 8: Java Programming 3 장

1. 자바 클래스

III. 생성자 메서드 형식 – 생성자 메서드

접근 _ 제한자 클래스명 ( 매개 _ 변수들 ) throw 예외 _ 처리 _ 클래스( 들 ){멤버 필드 초기화 작업

}

Example

Page 9: Java Programming 3 장

1. 자바 클래스

생성자 메서드의 특징들① 클래스명과 동일하다 .( 대 - 소문자 포함 )② 결과형 리턴값을 가지지 않는다 .(void 도 안됨 )③ 클래스 객체가 생성될 때 반드시 하나의 생성자가

호출된다 .④ 멤버 필드들의 값을 초기화한다 .⑤ 하나의 클래스 내부에 생성자가 하나도 없으면

자동적으로 default 생성자가 있는 것으로 인식한다 .⑥ 하나의 클래스에는 매개 변수의 개수가 다르거나 매개

변수의 자료형이 틀린 생성자들이 여러 개 있을 수 있다 .⑦ 생성자의 첫 번째 라인으로 this( 매개 변수 ) 생성자를

사용하여 또 다른 생성자 하나를 호출 할 수 있다 .

Page 10: Java Programming 3 장

1. 자바 클래스

Example

IV. Garbage 컬렉션 C++ 과 같은 언어에서는 객체를 생성자를 통해 생성을 시키고 그

객체를 사용하고 난 후에는 메모리 상에서 제거하기 위해 소멸자를 통해 소멸시켜야 함 .

그러나 자바에서는 스스로 불필요한 메모리를 삭제하는 방법을 사용한다 . 이 때 불필요한 메모리를 Garbage( 쓰레기 ) 라고 부른다 .

Page 11: Java Programming 3 장

2. 자바 클래스와 멤버

I. 접근 제한자와 멤버 필드 접근 제한자의 종류

① private : 가장 엄격한 제한자로 선언한 멤버가 자신의 클래스 내부에서만 사용되도록 제한한다 .

② protected : private 와 비슷한 속성을 지난 제한자로 자신의 클래스 내부와 상속받은 하위 클래스 그리고 동일한 파일 내부 그리고 동일한 폴더에서만 사용되도록 제한한다 .

③ package : 제한자를 사용하지 않았을 때를 나타내며 자신의 클래스 내부와 동일한 패키지들 간에 그리고 동일한 파일 내부에서만 사용되도록 한다 .

④ public : 객체가 선언되어 있는 곳이면 어디에서든 사용할 수 있다 .

Page 12: Java Programming 3 장

2. 자바 클래스와 멤버

형식 – private 접근 제한자 멤버 필드

private [ 지정 _ 예약어 ] 자료형 ( 클래스형 ) 필드명 [= 값 ]; 멤버 메소드

private [ 지정 _ 예약어 ] 결과형 _ 리턴값 메소드명 ( 매개 _ 변수들 )[throw 예외 _ 클래스( 들 )]{ 내용부 }

생성자 메서드 private 클래스명 ( 매개 _ 변수들 ) [throws 예외 _ 클래스 ( 들 )]{

내용부 ; }

클래스 Private [ 지정 _ 예약어 ] class 클래스명 [extends 상위 _ 클래스 ][implemets 상위 _

인터페이스들 ]{ 내용부 ; }

private, protected, public 의 형식이 같으므로 생략

Page 13: Java Programming 3 장

2. 자바 클래스와 멤버

example - private

Page 14: Java Programming 3 장

2. 자바 클래스와 멤버

example - protected

Page 15: Java Programming 3 장

2. 자바 클래스와 멤버

example – packageexample – publicII. 멤버 필드와 멤버 메소드

필드에 대한 지정 예약어들① static : 하나의 클래스로 발생된 모든 객체가 공유하는 필드를

선언할 때 사용된다 .② final : 상수형 필드로 한번 값이 정해지면 그 값을 변경하지

못하는 필드를 선언할 때 사용한다 .③ static final : static 과 final 의 속성이 혼합된 형태이다 .④ transient : 임시 메모리 필드로 네트워크로의 전송이나

파일로의 전송 시에 그 값 자체가 없는 것과 같은 효과를 나타낼 필드를 선언할 때 사용한다 .

Page 16: Java Programming 3 장

2. 자바 클래스와 멤버

메서드에 대한 지정 예약어들① static : static 지정 예약어로 선언된 메소드를 처리하고자 할 때

사용하는 예약어로 static 메소드 내부에는 static 메서드만 올 수 있다 . 또한 이 메서드 역시 클래스명으로 접근할 수 있다 .

② final : 생성자에서 보았듯이 모든 메소드는 오버로딩기능이 있다 . Final 은 필드와 마찬가지로 변경 불가 메소드를 만드는 것이다 .

③ static final : static 과 final 의 기능을 혼합한 형태④ abstract : 내용부 정의가 없는 추상 메소드를 선언할 때

사용한다 .⑤ synchronized : 특정 메소드의 실행이 여러 개의 스레드로

인하여 중첩되어 수행되는 것을 방지하기 위해서 사용하는 예약어이다 .

⑥ native : 순수한 자바의 개념으로 구현할 수 없거나 이미 만들어진 다른 언어의 코딩을 자바 내부 메소드의 코딩처럼 사용하기 위해 선언된 메소드의 지정 예약어로 사용한다 .

Page 17: Java Programming 3 장

3.this, static, final 지정 예약어

I. 클래스 자기 자신을 참조하는 객체 this

Page 18: Java Programming 3 장

3.this, static, final 지정 예약어

형식 – 0 번째 매개 변수 0 번째 매개 변수란 모든 매겨 변수보다 우선한다는 뜻 .

형식 – 모든 멤버 필드의 접근 객체 this.Field

그렇다면 앞서 본 예제를 어떻게 바꿔야 올은 값이 나올까 ?

Page 19: Java Programming 3 장

3.this, static, final 지정 예약어

II. 공용 변수를 위한 static 지정 예약어 static 을 공용 변수를 위한 지정 예약어라고 말한 이유는

앞서 예약어 부분을 하면서 Field 라던지 메소드에 붙은 예약어 static 이 붙은 경우는 바로 접근이 가능했다 .

static 은 지역변수로 사용이 불가능 하다 . 이는 어찌 보면 멤버 필드라기 보다는 클래스 필드라 해야 옳을 것이다 .

사실 클래스로 넘어오면서 메모리 부분을 해야 하지만 이 경우는 책을 보고 스스로 공부해야 한다 . 아무런 실습도 없이 이 시간에 메모리 얘기를 하는 것은 낭비다 . 개인적으로 곡 공부를 했으면 한다 .

Page 20: Java Programming 3 장

3.this, static, final 지정 예약어

Page 21: Java Programming 3 장

3.this, static, final 지정 예약어

III. 상수 변수를 위한 final 지정 예약어 형식 – final 필드

접근 _ 제한자 final 자료형 ( 클래스형 ) 필드명 = 초기값 ;

final 은 반드시 초기값을 적어야 한다 .C 를 공부하면 알 것이다 .#define 매크로 변수의 선언을…매크로 변수처럼 변수의 상수화를 하는 것이다 .미리 선언 해놓고 그 값은 절대 변경 할 수 없다 . Example

final double pi = 3.141592;

Page 22: Java Programming 3 장

4. 과제

Class Jbank{private String name;private double don;private static float iyul;

}과제 . 이 클래스의 main() 메소드를 완성해 보자 .

입력 및 출력결과1. 신규가입 2. 이율변경 3. 등록인원정보 4. 종료 =>1

== 신규 가입 ==이름 = 윤진석입금 금액 = 10

신규 가입이 2008 년 3 월 27 일 4 시 44 분에 처리 되었습니다 .입금한 금액은 10 원 입니다 .현재 적용 이율은 4.78% 입니다 .== 신규 가입 끝 ==

Page 23: Java Programming 3 장

4. 과제

1. 신규가입 2. 이율변경 3. 등록인원정보 4. 종료 =>2

관리자 패스워드를 입력하세요 : 1111현재 4.78% 의 이율이 적용되고 있습니다 . 얼마로 변경하시겠습니까 ?적용이율 =7모든 고객에게 7% 로 변경 적용됩니다 .

1. 신규가입 2. 이율변경 3. 등록인원정보 4. 종료 =>3

=== 현재 등록 고객 정보 ===이름 금액 이율================정철호 10000000 원 7%

1. 신규가입 2. 이율변경 3. 등록인원정보 4. 종료 =>4

은행 영업을 마감합니다 . 수고하셨습니다 !!!