java programming 3 장
DESCRIPTION
Java Programming. Java Programming 3 장. 백석대학교 인터넷멀티미디어 LAB1111 호. 목 차. 자바 클래스 자바 클래스와 멤버 this, static, final 지정 예약어 과제. 1. 자바 클래스. 클래스의 기본 구성 형식 – 클래스 접근 _ 제한자 지정 _ 예약어 class 클래스명 extends 상위 _ 클래스 implements 상위 _ 인터페이스 ( 들 ) { 내용부 ; 내용부 ; ----- 내용부 ; } 형식 - 단순형 클래스 - PowerPoint PPT PresentationTRANSCRIPT
LOGO
백석대학교 인터넷멀티미디어 LAB1111 호
Java Programming3 장
Java Programming
목 차
1. 자바 클래스
2. 자바 클래스와 멤버
3. this, static, final 지정 예약어
4. 과제
1. 자바 클래스
I. 클래스의 기본 구성 형식 – 클래스
접근 _ 제한자 지정 _ 예약어 class 클래스명 extends 상위 _ 클래스 implements 상위 _ 인터페이스( 들 )
{내용부 ;내용부 ;-----내용부 ;
}
형식 - 단순형 클래스Class 클래스명 {
내용부 ;내용부 ;-----내용부 ;
}
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(){----
}}
1. 자바 클래스
클래스에 포함되는 멤버들① Nested Class : 중첩 클래스라 부르며 하나의 그룹
내에서 또 다른 그룹으로 표시될 수 있다 .
② Field : 필드는 다른 언어에서 변수라고 불리는 부분이다 .
③ Construct : 생성자는 하나의 그룹이 생겨날 때 각 필드들의 데이터 값을 초기화하는 역할을 해준다 . 메서드처럼 행위를 기술하는 부분이다 .
④ Method : C 언어에서 함수와 비슷한 역할을 하는 것 이다 .
1. 자바 클래스
앞서 말한 클래스 선언의 완벽한 형태를 지난 소스
1. 자바클래스
II. 클래스 사용법 클래스 객체 생성 규칙
클래스명 객체명 = new 클래스 생성자명 ( 매개 _ 변수들 );
ExampleTest name = new Test();
name.cal();
1. 자바 클래스
III. 생성자 메서드 형식 – 생성자 메서드
접근 _ 제한자 클래스명 ( 매개 _ 변수들 ) throw 예외 _ 처리 _ 클래스( 들 ){멤버 필드 초기화 작업
}
Example
1. 자바 클래스
생성자 메서드의 특징들① 클래스명과 동일하다 .( 대 - 소문자 포함 )② 결과형 리턴값을 가지지 않는다 .(void 도 안됨 )③ 클래스 객체가 생성될 때 반드시 하나의 생성자가
호출된다 .④ 멤버 필드들의 값을 초기화한다 .⑤ 하나의 클래스 내부에 생성자가 하나도 없으면
자동적으로 default 생성자가 있는 것으로 인식한다 .⑥ 하나의 클래스에는 매개 변수의 개수가 다르거나 매개
변수의 자료형이 틀린 생성자들이 여러 개 있을 수 있다 .⑦ 생성자의 첫 번째 라인으로 this( 매개 변수 ) 생성자를
사용하여 또 다른 생성자 하나를 호출 할 수 있다 .
1. 자바 클래스
Example
IV. Garbage 컬렉션 C++ 과 같은 언어에서는 객체를 생성자를 통해 생성을 시키고 그
객체를 사용하고 난 후에는 메모리 상에서 제거하기 위해 소멸자를 통해 소멸시켜야 함 .
그러나 자바에서는 스스로 불필요한 메모리를 삭제하는 방법을 사용한다 . 이 때 불필요한 메모리를 Garbage( 쓰레기 ) 라고 부른다 .
2. 자바 클래스와 멤버
I. 접근 제한자와 멤버 필드 접근 제한자의 종류
① private : 가장 엄격한 제한자로 선언한 멤버가 자신의 클래스 내부에서만 사용되도록 제한한다 .
② protected : private 와 비슷한 속성을 지난 제한자로 자신의 클래스 내부와 상속받은 하위 클래스 그리고 동일한 파일 내부 그리고 동일한 폴더에서만 사용되도록 제한한다 .
③ package : 제한자를 사용하지 않았을 때를 나타내며 자신의 클래스 내부와 동일한 패키지들 간에 그리고 동일한 파일 내부에서만 사용되도록 한다 .
④ public : 객체가 선언되어 있는 곳이면 어디에서든 사용할 수 있다 .
2. 자바 클래스와 멤버
형식 – private 접근 제한자 멤버 필드
private [ 지정 _ 예약어 ] 자료형 ( 클래스형 ) 필드명 [= 값 ]; 멤버 메소드
private [ 지정 _ 예약어 ] 결과형 _ 리턴값 메소드명 ( 매개 _ 변수들 )[throw 예외 _ 클래스( 들 )]{ 내용부 }
생성자 메서드 private 클래스명 ( 매개 _ 변수들 ) [throws 예외 _ 클래스 ( 들 )]{
내용부 ; }
클래스 Private [ 지정 _ 예약어 ] class 클래스명 [extends 상위 _ 클래스 ][implemets 상위 _
인터페이스들 ]{ 내용부 ; }
private, protected, public 의 형식이 같으므로 생략
2. 자바 클래스와 멤버
example - private
2. 자바 클래스와 멤버
example - protected
2. 자바 클래스와 멤버
example – packageexample – publicII. 멤버 필드와 멤버 메소드
필드에 대한 지정 예약어들① static : 하나의 클래스로 발생된 모든 객체가 공유하는 필드를
선언할 때 사용된다 .② final : 상수형 필드로 한번 값이 정해지면 그 값을 변경하지
못하는 필드를 선언할 때 사용한다 .③ static final : static 과 final 의 속성이 혼합된 형태이다 .④ transient : 임시 메모리 필드로 네트워크로의 전송이나
파일로의 전송 시에 그 값 자체가 없는 것과 같은 효과를 나타낼 필드를 선언할 때 사용한다 .
2. 자바 클래스와 멤버
메서드에 대한 지정 예약어들① static : static 지정 예약어로 선언된 메소드를 처리하고자 할 때
사용하는 예약어로 static 메소드 내부에는 static 메서드만 올 수 있다 . 또한 이 메서드 역시 클래스명으로 접근할 수 있다 .
② final : 생성자에서 보았듯이 모든 메소드는 오버로딩기능이 있다 . Final 은 필드와 마찬가지로 변경 불가 메소드를 만드는 것이다 .
③ static final : static 과 final 의 기능을 혼합한 형태④ abstract : 내용부 정의가 없는 추상 메소드를 선언할 때
사용한다 .⑤ synchronized : 특정 메소드의 실행이 여러 개의 스레드로
인하여 중첩되어 수행되는 것을 방지하기 위해서 사용하는 예약어이다 .
⑥ native : 순수한 자바의 개념으로 구현할 수 없거나 이미 만들어진 다른 언어의 코딩을 자바 내부 메소드의 코딩처럼 사용하기 위해 선언된 메소드의 지정 예약어로 사용한다 .
3.this, static, final 지정 예약어
I. 클래스 자기 자신을 참조하는 객체 this
3.this, static, final 지정 예약어
형식 – 0 번째 매개 변수 0 번째 매개 변수란 모든 매겨 변수보다 우선한다는 뜻 .
형식 – 모든 멤버 필드의 접근 객체 this.Field
그렇다면 앞서 본 예제를 어떻게 바꿔야 올은 값이 나올까 ?
3.this, static, final 지정 예약어
II. 공용 변수를 위한 static 지정 예약어 static 을 공용 변수를 위한 지정 예약어라고 말한 이유는
앞서 예약어 부분을 하면서 Field 라던지 메소드에 붙은 예약어 static 이 붙은 경우는 바로 접근이 가능했다 .
static 은 지역변수로 사용이 불가능 하다 . 이는 어찌 보면 멤버 필드라기 보다는 클래스 필드라 해야 옳을 것이다 .
사실 클래스로 넘어오면서 메모리 부분을 해야 하지만 이 경우는 책을 보고 스스로 공부해야 한다 . 아무런 실습도 없이 이 시간에 메모리 얘기를 하는 것은 낭비다 . 개인적으로 곡 공부를 했으면 한다 .
3.this, static, final 지정 예약어
3.this, static, final 지정 예약어
III. 상수 변수를 위한 final 지정 예약어 형식 – final 필드
접근 _ 제한자 final 자료형 ( 클래스형 ) 필드명 = 초기값 ;
final 은 반드시 초기값을 적어야 한다 .C 를 공부하면 알 것이다 .#define 매크로 변수의 선언을…매크로 변수처럼 변수의 상수화를 하는 것이다 .미리 선언 해놓고 그 값은 절대 변경 할 수 없다 . Example
final double pi = 3.141592;
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% 입니다 .== 신규 가입 끝 ==
4. 과제
1. 신규가입 2. 이율변경 3. 등록인원정보 4. 종료 =>2
관리자 패스워드를 입력하세요 : 1111현재 4.78% 의 이율이 적용되고 있습니다 . 얼마로 변경하시겠습니까 ?적용이율 =7모든 고객에게 7% 로 변경 적용됩니다 .
1. 신규가입 2. 이율변경 3. 등록인원정보 4. 종료 =>3
=== 현재 등록 고객 정보 ===이름 금액 이율================정철호 10000000 원 7%
1. 신규가입 2. 이율변경 3. 등록인원정보 4. 종료 =>4
은행 영업을 마감합니다 . 수고하셨습니다 !!!