블로그 이미지
우디냥
"지금 잠을 자면 꿈을 꾸지만, 지금 공부하면 꿈을 이룰수있다"

calendar

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Notice

'Class'에 해당되는 글 2

  1. 2007.04.16 객체와클래스
  2. 2007.04.10 Class와 main(2)
└ᘐ Class란?
       -> program 의 설계도이다.
           컴파일러가 생성한다. => 사용자가 필요로 할때 만들어짐
   
       ▶ class 설계방법
           [public][속성] class  이름
           {
                 변수  -> 전역변수 : 해당 class에서 몽땅 사용가능한 변수.
                 함수
            }

       ▶ class 사용방법
             Myclass ex;                 //선언
             ex = new Myclass();     //할당
       
          * class가 동작하기 위해서는 반드시 instance가 있어야 한다.
                                                               └ 즉,new 클래스이름(); 해야한다.
             => Reference는 instance 를 관리하기 위한 도구에 불과

└ᘐ Object란?
       -> class를 바탕으로 만들어진 실제 물체
       
       ▶ object 생성 명령
                A  a1;            //선언 (아직 object가 생성되지 않은 상태)
               a1 = new A();  //할당

└ᘐ Class와 Object의 관계
          class : object = 1 : n
     
   
         
posted by 우디냥
TAG Class, object

└ᘐ 자바프로그램의 기본
      - 자바 프로그램은 package/import 명령을 제외한 모든 내용은 반드
        시 class 안에 포함되어야 한다.

└ᘐ 클래스 만드는 방법  
      -----------------------------------------------
        [접근지정자] class 클래스이름 [extends ???]
                                                    [implenents ???]
        {
        }
      -----------------------------------------------
        [public] class Test
        {
        }
      -----------------------------------------------

└ᘐ 접근 지정자의 종류
      1) 생략  -  반드시 같은 디렉토리에 있는 클래스끼리만 사용할 수 있
                     도록 하기 위해서 package 방식이라고 말한다.
 
        * package란?
           - 같은 디렉토리에 있는 클래스들을 부르는 말
 
      2) public - 다른 디렉토리에 있더라도 그 클래스를 사용할 수 있도록
                      하는 방식

└ᘐ 클래스의 이름 부여방식
      1) 첫글자에 숫자나 부호가 오면 안된다.
      2) 첫글자는 반드시 영문자나 한글이 와야 한다.
         (단, 한글은 호환에 문제가 있으므로 될 수 있으면 사용하지 말것)
      3) 두번째 글자부터는 영문자/한글/숫자/_ 기호 사용할 수 있다.
      4) 미리 예약된 명령어는 사용할 수 없다. -  예약어

└ᘐ extends란?
       - 상속을 받은 클래스를 만들때 사용

└ᘐ implements란?
       - 인터페이스를 사용해서 클래스를 만들때 사용

└ᘐ main함수의 의미
       - 진입점 함수(시작 함수)이다.
         즉, JVM이 프로그램을 시작하는 순간 자동 호출해주는 함수이다.
              다른 말로 이 함수가 없으면 JVM은 프로그램을 시작할 수 없다.
       - 사용자는 처음 실행하고자 하는 클래스안에 main()를 만들어주는
         것이 원칙

└ᘐ main의 규칙
    --------------------------------------
      public static void main(String[] args)
      {
      }
    --------------------------------------
    1) public - 접근 지정자 : 사용 범위를 지정하는 것으로 public은 모든
                                      곳에서 사용가능한 범위로 지정하는 방식.
                 * 왜 사용하는가?
                   이 함수는 어디에 존재할 지 모르는 JVM이 이용해야 하기
                    때문이다.
    2) static - 속성 : 그 함수의 특징을 서술하는 방식으로 static은 주소 없
                           이 호출 가능한 함수.
                           그냥 클래스 이름만 알면 호출 가능한 함수를 의미.

                 * 주소란?
                    객체지향 프로그램의 오브젝트(객체)를 의미하는 말이다.
                    즉, 오브젝트를 만들지 않고도 호출 가능한 함수를 static
                    함수라 한다.
                 * JVM은 클래스의 이름만 알고 main()을 호출한다.그러므로
                   당연히 이름만 알고 호출 가능한 함수로 만들어야겠다.
    3) void - 반환값
                 main()은 함수 결과를 알려주지 않는다.
    4) (String[] args) - 전달인수
                               실행자가 그 프로그램을 실행시키는 순간  전달하
                               는 값을 기억할 변수
                               넣어주는 모든 데이터는 문자로 기억한다.

└ᘐ 자바 프로그램을 만드는 방법
      1. 하나의 파일에는 하나의 클래스만 만드는 것을 원칙으로 한다.
        --> 이 경우에는 클래스의 이름이 곧 파일의 이름이 되어야 한다.
             (물론 대소문자까지 구분)
      2. 하나의 파일에 두개 이상의 클래스를 만들 수도 있다.
          1) 두개 이상 중에서 오직 하나만 public class 이어야 한다.
              public class가 두개이상 오면 안된다.
              --> 파일의 이름은 public class의 이름으로 해야한다.
              --> main() 함수 역시 public class 안에 만들어 주어야 한다.
          2) 물론 public class가 하나도 없어도 상관이 없다.
              --> 이 경우는 main()가 존재하는 클래스의 이름으로 파일 이
                    름을 만들어야 한다.
              --> 만약 둘다 main()이 있거나 둘다 main()이 없으면 아무 클
                    래스나 만들어도 상관이 없다.

        * 참고 - 하나의 파일의 두개 이상의 클래스가 존재하더라도 컴파일
                    된 결과는 각각의 클래스로 탄생한다.
   

posted by 우디냥
TAG Class, main()
prev 1 next

티스토리 툴바