자바프로그래밍 5장 예습

5장에서는 상속을 배운다

상속은뭐 예전 예습떄나 복습글에서도 썻고 기본개념이야 뭐 클래스를 그대로 받아와서 추가도 할수있는 그런것이였다

형식은 public,final,abstract class 클래스이름 extends
 상위 클래스 이름 {

이된다

멤버변수의 상속에서는 뭐 간단한 예제를 보니 이해는 되고

옆에 접근한정자의 사용이라고 그림으로 표현이 되어있다

알아두어야할만한것은 protected  상속된 클래스에서 사용가능한 접근 한정자이다

넘어가서 메소드의 상속과 오버라이딩

이것을 처음보고 오버로딩이 아닌가? 하고 오타를 쳤다  그런데 오버라이딩이였다

차이점은 오버로딩은 같은 클래스 내에서 같은 이름의 생성자나 메소드를 사용하는 경우에 쓰고

오버라이딩은 상속관계에 있는 클래스들간에 같은 이름의 메소드를 정의하는 경우에 쓴다

뭐또 예제를 보며 이해를 해보려고 한다

예약어 super

하위클래스에 의해 가려진 상위 클래스의 멤버변수나 메소드에 접근할떄 사용, 상위클래스의 생성자를 호출하기위해 사용

왜 슈퍼일까? 생각해보는데 결론은 하위에 가려진 상위로 접근을 하니 슈퍼일까라는 생각을 해보았다 ;;

형식은 super.객쳐변수,메소드 이름 이다

객체의 형변환

3장에서 도 나온거 같은데3장은 기본자료형 형변환이고 

여기에서는 상속관계에 있는 클래스 계층 구조의 각각의  클래스로부터 생성된 객체 사이의 형변환에 관해 기술한다라고 써있다.

음 쭉 보았는데 잘이해가 되질 않으므로 수업시간에 잘들어보아야 겠다

연산자 instanceof

형식은 객체참조변수 instancsof toye이다

타입은 클래스 이름이나 인터페이스의 이름이여야 하고

연산결과는 true나 flase를 반환해준다

추상클래스와 추상 메소드

추상클래스는 객체 지향 언어의 중요 개념이다

하위클래스에서 구현되는 추상적인 기능만을 정의하는 클래스이고 추상에서 정의된 추상적인 기능은 하위클래스에서 구현이 된다

이론적이야 이렇다지만 잘이해가 되질 않는다 왜지?

좀어려우므로 이것도 수업시간에 열심히 들어야겠다

다음주를 보고 시험도 봐야하니 화이팅을 해야지 ;;

by XenoSia | 2008/10/11 22:44 | 자바프로그래밍예습 | 트랙백 | 덧글(2)

10/7 자바프로그래밍 복습

오늘은 4장 클래스를 나갔다

참중요한내용이라 하셨고 느끼기에도 중요해보인만큼

어렵다..

클래스의 일반적인 구조는

클래스는 클래스헤더, 클래스 멤버로 나뉘에 지고

멤버는 멤버변수 생성자 메소드로 나눠진다

여기서 생성자는 크게보면 메소드가 된다

뭐 예제에서의 메소드 부분의 밑에쯤에 나온 mtype 이것은 반환 자료형이다.

넘어가서 클래스의 선언에 있는

102쪽 밑에 예가 중간에 public void box로 되어있는 곳이 틀렸다고 하셨다

void가 들어가면 안된다   이유는 생성자는 반환형을 쓰면 안되기 때문이다

그리고 객체의 생성

객체의 이름이 같아도 다른공간에 저장을 하기 때문에 가능하다

뭐뒤에 그림으로 보기좋게 나와있으니 패스하고

다음에 나오는 예제는 참 복잡한것 같기도 했는데

안보고 했음에도 불구하고 거의 되긴 했었다

기본이 깔리긴 한것 같았다

또뭐 하나 저장할때 메인이 있는 곳의 이름을 써서 저장을 해야 한다고 한다

넘어가서 멤버 변수

멤버변수는 메소드 밖에서 선언된 변수를 말한다

기본 변수와 참조변수가 나왔는데

기본변수는 지금까지 써왔던 int를 이용한 것

기본변수의 예를 들어보면 int a = 100; b= a ; b=200;을 입력하면 a는 100 b는 200 이 되지만

참조 변수는 저렇게 쓰게되면 주소에서 가져와서 쓰게되므로 바뀌게 된다

뒤에 그림에 설명이 나와있고....

주욱 넘어가서 마지막 예제에서는 거의 90% 내손으로 완성할수 있었다

중간에 public box()를 빼먹어서 틀린거 빼고는 잘되었다

꽤나 어렵고 했지만 차근차근 해나가니 뭔가 결실이 보일거 같다

오늘의 복습은 여기까지..

by XenoSia | 2008/10/07 19:00 | 자바프로그래밍복습 | 트랙백 | 덧글(1)

자바프로그래밍 4장 2주차 예습

저번에 1주차 예습을 4.6 까지 했으니까 4.7생성자부터 예습을 해본다

생성자는 객체가 생성될떄 무조건 수행되는 것으로 객체가 생성될때 한번만 수행된다는 특징을 가지고 있다

음 뭐 객체 생성에 무조건 한번 수행된다고 기억을 해가면 되겠다

넘어가서 생성자 오버로딩

클래스는 여러개의 생성자를 가질수 있다

이뜻은 같은 이름의 생성자를 중복해서 사용할수 있다는 뜻이라고 하는데

이름은 같아도 매개변수의 타입과 개수는 반드시 달라야 한다고 한다

같게되면 오류가 나게되는것이고...

다음에 나오는 예약어 this

이건 현재 사용중인 객체를 의미한다고 하고 일반적으로 생성자나 메소드의 매개변수가 객체변수와

같은 이름을 사용할때 사용하게 된다

책으로 봐도 잘 이해가 되질 않으므로 수업시간에 잘들어봐야겠다.

또 넘어가서 나오는 메소드

이건 처음할때 부터 자주 들었던 말 같은데 여기서 자세하게 나왔다

메소느는 클래스 내에서 개게가 할수 있는 행동을 정의 한 것으로 클래스의 핵심이다

메소드의 이름은 소문자로 시작하는것이 관례로 필수는 아니다

첫번쨰 접근 한정자는 멤버변수 접근 한정자와 같이 public,private가 사용된다

사용법이야 예제에 나와있고

두번째 클래스 메소드 static

이건 클래스 변수와 비슷한 특징을 가지고 있고 클래스명과 객체명을 통해서 접근,

클래스로부터 생성된 모든 객체들이 공유 가능하다 그런데 일반 객체 변수를 사용할수 없고

클래스 메소드 내에서는 오직 클래스 변수만이 사용 가능하다

다음 나오는 final, abstract, synchronized 은 각각 5,5,8 장에서 나온다니 패스

넘어가서 메소드 접근 하는 방법은 클래스 메도그와 일반메소드가 다른 방법으로 접근한다

클래스 메소드는 클ㄹ스 이름 또는 객체 이름으로, 객체 메소드는 객체 이름으로 접근 한다

다음번에 나오는 메소드 오버로딩

생성자오버로딩과 같은 개념으로 메소드도 오버로딩이 가능하다

내용은 거의 같고 메소드 오버로디은 객체지향 언어의 특징 중에 하나인 다향성을 제공한다

대망의 마지막 메소드에 값전달 방법은

메소드 호출시 실 매게변수의 값을 형식 매개변수에 복사해주는 방식인데

그런데 자바의 값-전달 방법은 메소드 호출시 지정한 실 매개 변수의 자료형을 지정하는 경우가 다르게 동작하게된다

자바는 8개의 기본자료형을 가지고 있고 그 자료형의 변수에는 실제 그 변수의 값이 저장되어 있다

이경우에는 실 매개변수의 값을 형식 매개변수에 복사해 줌으로서 형식 매개변수의 값이 변해도

실 매개변수의 값은 안변하게된다

여기가찌가 4장의끝이며

3장마냥 방대한 내용과 분량이다 ;;;

뭐 역시나 2주에 나눠서 하고 외울것도 알하야 할것도 많으므로 열심히 수업을 들어야 할것같다

by XenoSia | 2008/10/04 22:17 | 자바프로그래밍예습 | 트랙백 | 덧글(1)

9/30 3장 3주차 복습

오늘은 대망의 3장 3번쨰 시간이였다

참 길었다 길고도 긴 시간이였는데 오늘 끝이 났다

처음에 교수님이 저번 시간에 잘못가르쳐준게 있으시다고 하셨다

뭐냐하면 비트연산자의 >>> 이걸 수정해주셨다 뭐 수정내용을 책에 적고보니 설명에 써있는거랑 같았다...

본론으로들어가서 오늘 처음배운것은 while문 와일문은

while(조건){
반복문장;
}
로 이루어 지며 조건절에는 참또는 거짓을 나타내는 문장을 써주고 조건이 참이게되면 와일 블록은 무한루프에 빠지게 되므로

조건절이나 와일블록내에 조건을 거짓으로 만드는 문장이 있어야한다

이거야 뭐 기본 내용 설명이였고 중요한건 do-while과 다른 점이라고 생각한다

기본적인 형식은 비슷하다

do{
반복문장;
}while(조건);

처음 와일문은 조건을 먼저 검사를하게 됙 거짓이면 한번도 실행이 되질 않으며

두 와일문은 조건을 나중에 평가해서 최소한 한번은 수행되는 게 큰 차이점이다

뭐또 오늘도 신나는 예제를 하는도중에 중요한게 나왔다

dousemenu 예제 할떄 나온건데

System.in.read(); 이거다

이건 키보드로터 1개의 문자를 받아들이게 되고 음 글로 표현하기가 어려운데

받아들인걸 System 앞에 가져다 놓게되고 뭐 형변환을 시켜주는것도 가능하다

넘어가서 for문 이것의 형식은

for(초기값;조건;증감){
반복문장;
}
이며 초기값을 설정후에 조건을 평가한다 조건이 거짓이면 포문으 수행이 끝나고 참일경우 계속 반복 하게 된다

뭐 또 간단한 포문에서 나올수 있는 오류로 밖에서 선언을 하였는데

포문에서 새로 또 선언을 하거나 먼저 선언된 것과 이름이 같은경우 오류가 된다

뭐 포문안에 포문을 쓸수도 있고 if도가능하다

포문안에 포문을 쓸경우 처음 바깥포문을 한개 바꿔주고 안쪽 포문을 끝까지 실행

참일경우 바깥포문을 또 바꿔주고 안쪽 포문을 또 끝까지 실행 이런 순서이다

뭐 넘어가서 break문 사용 용도는 스위치 문에서 스위치문을 벗어날때, 반복문에서 반복루프를 벗어날때

주로 쓰고 goto문은 안배웠으니 패스

포문안에 이프문을 쓰고 그뒤에 break를 걸면 이프를 끝내는게 아니고 포문을 끝내는 점

마찬 가지로 와일문을 쓰고 안에 이프를 쓰고 뒤에 break를 쓸결우 와일문을 빠져나오는점 만 알아두면 뭐될거 같다

레이블은 쓰지 말라는 교수님의 말씀이 있으니 그냥 넘겨버리고

continue문 이것은 break와 비슷 한데 break를 쓰게되면 끝이 나버리는 반면

continue는 이번회의 반복만 중단을 하고 다음 으로 계속 넘어가게 하는게 차이점이다

뭐 또 넘어가서 배열

1차원 배열이야 뭐 간단하다

타입 이름[];

이름 = new 타입[사이즈];

뭐 이렇게 하기귀찮으면

int[] a = new int[10] 뭐 이정도로

2차원 배열은 약간더 복잡하다

타입 이름 [][];

[]가 두개다

선언할때는 뭐 int b[][] = new int[1][2];

이렇게 쓰게된다

배열을 생성하게되면 예를 들어 5개를 배열개수로 잡으면

배열의 수는 0부터 4까지 5개가 된다 n-1이 된다

뭐 여기까지가 3장의 마지막이 된다

다음주부터는 4장이 나가게 될것이다 4장 1주차 예습은 했는데 2주차 예습을 해야하려나 ㅡㅡㅋ

by XenoSia | 2008/09/30 18:23 | 자바프로그래밍복습 | 트랙백 | 덧글(1)

자바프로그래밍 4장 예습 1주차

4장 도 강의 계힉서를 보니 2주 까지 나눠져있어서

딱 반인 4.6까지 예습을 해본다

이번장의 이름은 클래스이니 클래스의 심화과정 이랄까? 그런것으로 생각을 해보면서 예습을 해나간다

뭐 처음 나오는 클래스의 일반구조

여기서는 클래스가 어떡해 세분화되는지가 나온거 같다

처음 클래스는 클래스 헤더와 클래스 멤버로 나뉘어지고

클래스 멤버는 다시 멤버 변수와 생성자, 메소드로  나뉘어진다

뒷장에 예 가 나와있으니 참고를 하면서...

두번째 나오는 클래스 선언에서는 선언시 클래스의 특징을 나타내는 한정자를 설명해 놓았다

3가지가 있는데 우선 볼것은 자주써오던

public  이것은 모든 클래스에서 접근이 가능 함을 의미한다

두번쨰 final은 서브클래스를 가질수 없는 클래스를 의미한다

즉 final로 선언된 클래스로부터는 새로운 클래스가 상속되어 생성된수 없음을 의미한다

마지막 abstract 이것은 추상 클래스이다 이클래스에서는 객체를 생성할수가 없고 5장에서 자세한 설명을 한다니까 패스

넘어가서 객체의 생성 형식은 간단한거 같다

처음은 일단 객체를 선언한다

클래스명 객체참조변수;

두번쨰로 객체를 생성

객체참조변수 = new 클래스명

그리고 두가지를 한번에 할수 있는 문장

클래스명 객체참조변수 = new 클래스명();

이것은 한번도 써본 기억이 없는거같은데 내가 기억을 못하는걸까 ..?

다음으로는 멤버 변수 아까 클래스에서 클래스멤버의 멤버변수 인거 같다

멤버 변수도 객체변수, 클래스변수, 종단 변수로 나뉘어지며

객체면수는 또 객체 속성 변수와 객체 참조 변수로 나뉘어 진다

멤버변수의 선언형태는

[public/private] [static/final] 변수타입 변수명; 이다

객체 변수는 객체가 가진수 있는 특성을 표현하는것으로 객체변수를 표현하는 값에따라 개게 속성변수와

객체 참조변수로 구분이 된다

여기서 객체 속성변수는 객체가 가질수 있는 속성을 나타내는 값으로서 기본자료형의 값들로 구성된다고 한다

참조변순느 생성된 객체를 지정하는 변수이고 

사용자가 객체를 생성한다음 그 객체에 접근하기 위해 객체참조변수를 통하여 객체의 멤버들에 접근할 수 있다고 한다

뭐 뒤에는 그림 설명도 나와있고 책 제목이 알기쉽게 해설한 자바 인만큼

정말 잘 설명해놓은 나같은 초보 에게 딱인 책이란걸 다시 실감을 해본다

또 나오는 신나는 예제

다음의 클래스 변수

클래스변수는 static을 사용하여 선언하고 전역변수의 개념을 가지고 있다

클래스 변수는 클래스로부터 생성된 모든 객체들이 하나의 클래스 변수를 공유 한다고 하니

객체들 사이의 공통되는 속성을 표현하는데 사용이 가능하다고 한다

그리고 멤버 변수 접근 방법

.를 이용하여 접근이 가능

클래스변수는 클래스이름.클래스변수 나 객체이름.클래스변수

객체 속성 변순느 객체이름. 객체속성변수로 접근이 가능하다고한다

넘어가서 멤버 변수 접근 한정자

접근 제한은 아마 캡슐화 어쩌고로 기억을 하는데 맞는거 같다

처음 나오는 public 이것은뭐

항상 접근이 가능한 그냥 자유로운것 같다

두번쨰 private 이것으로 선언되면 소속된 클래스 내에서만 사용이 가능하게된다

접근을 하면 오류가 난다고한다

마지막 4-1주차를 마무리하는 벼누의 유효범위

유효범위 측면에서 변수들을 구분하여 보면 3가지로 구분이 되는데

멤버변수, 메소드 매개변수와 지역변수, 예외 처리기 매개변수 로 구분이 된다

이거는 말로 설명하기는 참 애매한데 그림으로 참 보기쉽고 간편하게 도 친절히 설명을 해주어서 한눈에 쏙

들어오게되니 공부하는 입장에서는 매우 고마운 일이다

아 여기까지가 1주차인거 같은데

저번3장도 2번에 나누어서 하고 4장도 나누어서 하니 내용도 많고 그만큼 중요하다는 거겠지..?

열심히 열심히 해나가야지..

by XenoSia | 2008/09/25 23:29 | 자바프로그래밍예습 | 트랙백 | 덧글(1)

◀ 이전 페이지          다음 페이지 ▶