2008년 04월 20일
복습입니다..ㅎㅎ
절차지향 - 데이터가 자체가 주인공. 프로그램 내에 그냥 존재한다. 그 프로그램에 대해 데이터를 읽어오고 쓰고 하는 것이 절차지행 프로그램
객체지행 - 주인공은 객체이다. 그 객체안에 데이터가 존재 그 데이터 안에 메소드가 존재한다. (메소드는 함수와 비슷) 객체 안에 데이터와 메소드가 구성되어 있다. class를 통해서 객체를 만드는 것을 한다.
자료를 바탕으로 구성된다.
객체의 2개의 개념은 거의 같은 개념
추상화 캡슐화 상속성 다형성 있다는 것만 알아두기. 잘 기억해 두기.
객체의 구성은 데이터와 메소드로 구성되어 있다. 잘 기억해 두기.
메소드는 데이터를 읽거나 쓰는 것이다.
시계 (일반적으로)
데이터 : 시, 분, 초, 월, 일, 년, 오전, 오후, 요일, 알람시 시, 분, 초,
메소드 : 알람 울림, 현재 시각을 보여줌, 현재 시각을 설정함, 알람 설정
시계(프로그램 적으로)class MyClock{
데이터 : int hour, min, sec;
메소드 :
void (반환할려고)setTime(int h, int m, int s){ //메소드는 반환형이라는 것을 설정
hour=h;
min=m;
sec=s;
return;}
String(문자열로 반환 받기 위해서) getTime(){
return hour+"시“+min+"분”+sec+"초“;} //문자열로 리턴 받고 우리가 원하는 값을 얻음.
객체는 붕어빵이라면 클래스는 붕어빵 틀이다. 객체는 데이터 메소드를 가지고 있다.
클래스는 필드(멤버변수와)연산 (메소드)를 가진다.
처음에 클래스를 설정하고 그 다음에 필드(멤버변수)를 만들고 그 다음에 메소드를 만들면
결과는 클래스, 필드, 메소드로 나옴 (그림으로 보기)
클래스 정의하기
[접근 제어자]class 클래스 이름
{
멤버변수;(필드)
생성자;(메서드의 한 종류이다. 굉장히 특별한 메서드이다.)
멤버 메서드;
}
ClassExam obj(이름을 설정)=new ClassExam();으로 만듬.
여기서는 아무일도 하지 않는다.
생성자와 메소드는 유사한 형식을 가진다.
차이점 생성자는 클래스와 이름이 같고, 반환형 (void)가 없다. 메소드에는 반드시 반환형 (void)를 써주어야 한다.
new연산자를 이용해 객체를 생성할 때 호출
String s=new String(생성자)(“동양”(인수));//동양이라는 문자로 String를 초기화 한다.
멤버변수 초기화 할 때 사용.
public으로 선언하면 반환형 (void)가 없고, 클래스의 이름이 똑같다. //반환형을 쓰면 에러남
class ClassExam{ 이거 다음에 바로
Private String mamberVar; 이라는 멤버변수를 추가 한다.
멤버변수 생성자 메소드는 같다.
class ClassExam{ //가로를 열고 그 다음에는 멤버변수를 넣어 준다.
접근 제어자 (public, private, protected)
사용 형식 : [접근 제어자](쓸 수도 안 쓸 수도 있다.)데이터형 변수 이름
억세스가 되다.
class A{
int i; //아무것도 쓰지 않으면 default가 된다. (패키지 - 같은 디렉토리 내에 있는)
void method(){
i=3; //이것이 i를 억세스 한 것이다.
System.-
}
}
같은 디렉토리에 다른 class에서 이용하기
class{
void mu{
A a = new a();
System.out,println (ai);
}
} //다른데에 있으면 억세스가 안 댐. 되게 할 려면 public을 써야 한다.
protected는 상속은 받고 같은 디렉토리에 있지도 않다.
private는 자기 클래스 내에서만 쓸 수 있다. 같은 디렉토리에 있어도 되지 않는다. 무조건 자기 클래스 내에서만 사용 가능.
class A{ //시계 클래스라면
int hour, min, sec; //세개의 정수 변수를 가지고 있다. 다른데에서 마음대로 억세스하고 싶다면
void setHour(int x){ //이렇게 시간에 대한 것을 만들어 준다. 캡슐화이다.??
if (x=>0&&x<=24){
h=x;
}else{ System.out.println ("입력 다시 하세요“);}
}
class O{
{
A a=new A();
a h=1500; //임의로 이렇게 억세스 하는 것은 안 좋다. 이거는 지워야 함. 1500시간이라는 시간은 없음.
a setHour (12); //이렇게 불러와야 함.
메서드는 대부분 public으로 선언 (읽고 써야 하기 때문)하고 멤버 변수는 private로 선언 한다.
package kr.co.ehan.classtest; //이건 kr밑에 co밑에 ehan밑에 클래스를 만듬.
26장에 실행하는 방법 javac -d. (자바 파일명) 이렇게 해주어야 함.
java.util.Date 는 특정 시점을 나타내기 위한 클래스 이다.
GMT(표준시이다.)표준시로부터 얼마나 지났는지를 밀리 세컨드 단위롤 사용하여 표현 (getTime()).이라는 것을 사용. 현재는 long getTime()와 setTime (long time)이 있음.
교수님이 알려주신 것을 필기를 해서 정리를 해봤는데 아직 클래스의 개념이
아직 제대로 안 잡힌것 같습니다.
처음에는 쉬웠던것 같은데
수업을 들을수록..ㅎㅎ 좀 어려워 지네여...
다시 다시 다시 개념 잡아야 겠습니다..ㅎ
그럼 나중에 복습으로 다시 찾아 뵙겠습니다..ㅎㅎ
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- 2008. 4. 16 실험프로젝트 by selju
- 7주차 실습[2008/04/16] by 사닉
- 공개강좌[입출력 스트림과 파일작업] by 장유진
- 클래스 및 메소드구상 by 이현미
- 함수 소요 시간 구하는 방법 by 민돌
# by | 2008/04/20 17:30 | 실험프로젝트 | 트랙백 | 덧글(1)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]