2011/09/14 JAVA#2 클래스의 호출 및 메소드들의 활용

class PrintToScreen{  //print라는 메소드가있는 PrintToScreen 클래스 설정
    public void print(){
        System.out.println("이것은 나의 첫 번째 자바 프로그램입니다."); // print 메소드의 설정
    }
}

class MyFirstClass2 { // main 메소드가있는 MyFirstClass2 클래스 설정
    public static void main(String[] args){ 
        PrintToScreen print = new PrintToScreen();  // 생성자를 통한 PrintToScreen 클래스를 호출하여 객체생성
        print.print(); // print라는 객체내의 print 메소드 호출
    }
}


------------------------------------------------------------------------------------------------------------------------------


class PrintToScreen{
    public void print(String strOut){ // print 메소드가 String형의 인수를 받음
        System.out.println(strOut); // println메소드가 받아온 인수를 호출
    }
}

class MyFirstClass3 {
    public static void main(String[] args){
        PrintToScreen print = new PrintToScreen();
        print.print("출력문장"); // print메소드를 호출할때 인수로 "출력문장"이라는 문장을 보냄
    }
}

 

------------------------------------------------------------------------------------------------------------------------------


import javax.swing.*; // JFrame을 사용하기위해서 swing 패키지를 사용

class MyWindow {
     public void showWindow() {
            JFrame myfirstwindow = new JFrame("나의 첫 윈도우"); // JFrame를 이용한 myfirstwindow생성
            myfirstwindow.setSize(800,600);
            myfirstwindow.setVisible(true);
    }
}

class MyFirstWindow2 {
     public static void main(String[] args){
          MyWindow win = new MyWindow(); // MyWindow클래스를 호출하여 win이라는 객체 생성
          win.showWindow(); // showWindow메소드를 호출하여 불러옴
     }
}

by Vender | 2011/09/14 15:50 | 트랙백 | 덧글(0)

2011/09/14 JAVA #1 Javaㅋ 에서의 Window 만들기 및 생성자의 설명

윈도우 만들기

import javax.swing.*;
 //import는 C언어에서의 include의 역할 뒤에 꼭 ';'를 붙여야함!
    class MyFirstWindow{
        public static void main(String[] args){
        JFrame myFirstWindow = new JFrame("나의 첫 윈도우");
        //JFrame은 swing패키지 안에있는 윈도우를 만들어주는 클래스
        myFirstWindow.setSize(800,600);
        myFirstWindow.setVisible(true);
    }
}

//좌측의 800*600 사이즈의 나의 첫 윈도우 라는 이름의 윈도우가 생성됨


우측 상단의 X표시를 눌러준 후에도 프로그램 종료할때는 프롬프트 창에서 Ctrl+C를 눌러주어야함.

*자바 프로그램내에서 import를 제외한 나머지는 전부다 class안에 들어가야한다 !!
*메소드에는 괄호가 딸려서 나온다. 즉, 괄호가 있다면 그것은 메소드이다 라고 생각 할 수 있는것!

자바에서 프로그램의 주인공은 객체이며, 클래스객체를 만들어 내기위해 필요한 것을 나열한 것이다
클래스 내부에는 객체를 만드는데 필요한 정보들이 들어가 있는데, 
예를 들자면 JFrame이라는 클래스내에는 윈도우를 만드는데 필요한 정보들이 적혀있으며
JFrame이라는 클래스는 윈도우를 만들기위한 설계도라고 할 수 있는것!
하지만 실제로 눈에 보이는 윈도우는 JFrame 클래스의 객체를 만들어야 생성이 되는 것이다! 


프로그램 코드중에서 new 라고 하는 것은 객체를 만들기위한 생성자이다!
*메소드의 이름과 클래스의 이름이 같은것을 생성자 라고도한다!!!

JDK의 제공되는 클래스 생성자에 대해서 알아보기 위해서는!
http://docs.xrath.com/java/se/6/docs/ko/api/index.html 에서 확인해볼 수 있다.
하지만 번역기로 번역을 해놓은 것이기때문에 정확하게 알기 위해서는 직접 영어로 읽어볼것!

변수를 정의하기위해서 필요한것은 1 번째 자료형 2번째 이름!

여기서! new JFrame()과 new JFrame("나의 첫 윈도우")는 같은 것일까?
답은 아니다! 왜냐하면 전자는 매개변수가 지정되어있지 않고, 후자는 매개변수가 지저오디어있기때문에!


JFrame(String title)의 사용!
이 생성자는 title이라는 이름의 매개변수를 가지고 있는데,
title의 자료형(datatype)이 문자열(String)으로 되어있는 것이다. (이때! 문자열은 " " 안에 들어가있어야함)
이 생성자는 매개변수 title의 값을 생성하는 윈도우의 타이틀바에 나타내주도록 프로그램되어있다.
이 생성자를 호출하려면 괄호 안에 String형의 값을 넣어 주어야하며, 괄호 안에 넣어주는 값을
'인수'라고 부르며, '인수'는 그 위치에 선언되어있는 매개변수의 값으로 할당된다.


JFrame클래스 내의 setVisible 메소드!
객체이름.setVisible(true); 라는 형식으로 사용한다.
왜냐하면 setVisible이라는 메소드는 Visible Default 값이 Unvisible 되있기때문에.
setVisible값을 true로 주어야 윈도우를 볼 수 있다. 그러므로 윈도우를 보여주고자하면
true라는 boolean값을 설정하여 보여질 수 있도록하자!


JFrame myFirstWindow = new JFrame("나의 첫 윈도우")
 JFrame이라는 생성자를 사용하여 만든 '나의 첫 윈도우'라는 이름
myFirstWindow라는 변수로 설정해주는 것이다! 

* 클래스 생성시에는 첫글자가 대문자! 변수는 첫글자가 소문자!
* 프로그래밍 에서 '='은 같다라는 뜻이 아닌 오른쪽의 값을 왼쪽값에 넣어주는 할당연산자이다!
  프로그래밍중에 주의하여 사용하기 바람!

JFrame클래스 내의 setSize 메소드!
width와 height는 각각 윈도우의 폭과 높이를 의미하며 단위는 픽셀이다.
만약 이 setSize메소드를 주석처리하면 윈도우 창은 나오는데, 이름만 나오게된다.

-----------------------------------------------------------------------------------------------------------------------------------------------------


실습문제> 화면에 윈도우 2개를 생성하는 프로그램을 작성하세요.
 하나는 "나의 첫 윈도우", 다른하나는 "나의 두번째 윈도우"라고 타이틀에 표시되게 하세요.
두번째 윈도우는 첫 윈도우에 비해 폭과 높이가 모두 2배가 되도록 만드세요


답 )
import javax.swing.*;
class Example_Ch2 {
    public static void main(String[] args){
        JFrame firstWindow = 
        new JFrame("나의 첫 윈도우");
        firstWindow.setSize(100,200);
        firstWindow.setVisible(true);
  
        JFrame secondWindow = 
        new JFrame("나의 두번째 윈도우");
        secondWindow.setSize(200,400);
        secondWindow.setVisible(true);
     }
}




*메인 메소드가 static이 붙는 이유는 메인은 객체가 없는 상태에서 실행을 하기때문에 객체가 없어도 프로그램이 돌아갈 수 있게하는 static을 적어주는 것이다.

by Vender | 2011/09/14 13:53 | Java 정리 | 트랙백 | 덧글(0)

TCP/IP 기말보고 풀이 등등...

이번 기말에서는 ....
라우팅 테이블 만들기, VLSM, 패킷 분석 2문제....

총 4문제가 나왔는데, 상당히 어려웠다...

문제를 풀면서 라우팅 테이블을 구성하는데...
막상 공부할때는 디폴트 게이트웨이의 마스크 값은 0.0.0.0 이라고 잘 공부해놓고
정작 들어가선... 255.255.255.255 라고... ㅠ_ㅠ......
일단 안습.. 쩝 ㅋㅋㅋ 또 넥스트홉 이 - 로 표기하는게 두개 있었는데,.. 재대로 썻던가 ..
걱정이다.. ㅠ_ㅠ;;;

VLSM은 ... 잘 본거 같은 .. 기분이 막 - 새록새록...... ( 요러다 또 틀린다 .. ㅠ_ㅠ;;)

패킷 분석도 문제가 있었는데...
밤새도록 천규형이랑 반복학습이 중요하다면서 ... 몇시간 걸려서 막 같은 패킷만 10개 20개 봤던게
도움이 된다 +_+ㅋㅋㅋ
그래서 그래도 잘 본거 같긴한데 ... 흠 ...... 성적이 나와보면 알겠찌 ㅠ_ㅠ;;

아무튼 ....... 한학기동안 수고 많이 했다 수환이... ㅋㅋㅋㅋㅋㅋㅋ


교수님도 한 학기동안에 모자란 저를 가르쳐 주시느라 고생 많으셧습니다 !
이어지는 내용

by Vender | 2009/06/16 18:07 | 트랙백 | 덧글(1)

6월 1일 TCP/IP 예습

9장에는 HTTP에 대해서 배우는데...
뭐... 기초적으로 알고잇는건... 웹페이지 띄울때 사용하는 프로토콜이라는거..
그리고 80번 포트를 사용한다는거 ... 정도랄까 -;;

뭐.. 자세히 보자면....

WWW(world wide web)을 사용한다... www는 cern에 의해서 개발되었고... ncsa에서 브라우저를 만들었다...

그리고 .. 하이퍼텍스트는...
웹에있어 필수적 핵심적 요소인데... 일반적인 텍스트와 마찬가지인 데이터이다. 하지만.. 다른점은.. 다른 데이터로의 연결을 포함한다는 정도이다...

URL은 전 세걔의 웹 서버에 잇는 문서들을 간략한 표현으로 구별할 수 있게 해주는 표준 방식이다...

HTTP에는 프락시 서버라는 것도잇는데.. 서버와 클라이언트 역할을 모두 수행한다.
이는 클라이언트들의 요청을 받고 서버에게 이 요청을 전달하기 전에 그 요청을 해석하는 용도로 사용된다.
요청과 응답으로는.. 사용자 프로그램은 자원요청을 하나의 전송 계층 연결을 통해서 서버에게 전송하고 서버는 이에 대해 자원응답을 하고 사용자 프로그램은 수신된 자원을 화면에 뿌려준다.

by Vender | 2009/06/01 00:17 | 트랙백 | 덧글(0)

TCP/IP 5월 26일 복습

TCP의 특징에서...
일련번호라는 것이있다..
이때.. 일련번호는 랜덤으로 시작하고, 그 숫자에 데이터의 길이만큼 숫자가 더해져서 보여지게 된다고 할 수 있겠다...
그렇다 하여, 500이라는 일련번호가 있을때 앞에서의 바이트의 크기가 500인것은 아니라는 것은 알아두어야 한다.
시퀀스넘버는 데이터의 바이트 넘버와 유사하다.......


TCP 헤더는..

2바이트의 소스 포트
2바이트의 타겟 포트
4바이트의 소스 시퀀스넘버
4바이트의 ack 시퀀스 넘버
4바이트의 헤더길이
1바이트의 세션 프래크
2바이트의 수신자 윈도우 사이즈
2바이트의 체크섬
2바이트의 urgent data 사이즈

의 구성을 가지고 있다.

즉.. 20바이트가 된다.


플래그에서 ack가 1이면 응답했다는 것을 의미한다.
           SYN이 1이면 시작한다는 것을 의미한다.

by Vender | 2009/05/26 14:58 | 트랙백 | 덧글(0)

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