ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210416_5(클래스class)
    JAVA(Sol)(정리대기중..언젠가) 2021. 4. 16. 15:19

    클래스 : 자바 프로그램의 기본단위.

                                                javac A.java            실행 java A

    class A {   -----> 저장 A.java ---> 컴파일 A.class ---> A a = new A(); 인스턴스a

     int age                                                           |     a.age=19;

     public void name() {                                          |    a.name(); 

     System.out.print(age+"홍길동 입니다.");                       19홍길동입니다

    }

    }


    -- 한개 소스에 여러개의 클래스 정의 가능

    -- 대표클래스앞에 public이라고 붙인다

    -- public 클래스안에 main함수를 정의한다

    -- 저장 파일명은 public이 붙은 클래스명.java 가 된다

     

    class A{

         메롱();

    }

    public class B{

     main() {

       C c = new C();

        c.hi();

    }

    class C{

       void hi(){

         A a = new A() ;

          a.메롱()

    }

    -- 위의 소스를 컴파일 하면 A.class B.class C.class 가 각각 따로 생성된다.

    -- 사용할때 B가 실행될때 A와 C를 참조(의존)해서 실행하게된다

    -- A와 C는 main 함수가 없기 때문에 단독실행이 불가능 하다.


    --클래스안에 클래스를 정의 할 수 있다. 이것을 inner 클래스라고 부른다.

    class A {  //컴파일하면 A.clss 와 A$B.class 가 생성된다.

     

     class B {  //B클래스의 역활은 A에 종속되며, 외부 클래스에서는 사용할수 없다.

     }

    }

     

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

    import A;

    public class C {

     main( ) {

     A a =new A();

    }

    }

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

    클래스 내부에 코드는 안나온다

    clsaa A {

       int a;           변수 선언O

       int b;

      a+b;             X<====(처리식)코드는 안나온다.

       void aa(a) {}  함수정의O

    int age(b) {

      a + b ;         O<=====코드는 함수(메서드) 안에서 나온다

       }

    }

    package chaper7;
    
    class Pay {
    	String name;
    	int bonbong;
    	int tex;
    	int silsu;
    
    }
    
    public class PayCalc {
    	// 동일 소스 안에 클래스가 2개 이상이면 main 함수가 있는클래스로
    	// 생성한다 그리고 나머지 클래스를 부수적으로 명기한다
    
    	public static void main(String[] args) {
    		Pay p1 = new Pay(); //인스턴스생성
    		Pay p2 = new Pay(); //인스턴스생성
    		Pay p3 = new Pay(); //인스턴스생성
    
    		p1.bonbong = 2000000;
    		p1.name = "왕눈이";
    		p1.tex = (int) (p1.bonbong * 0.045 + 0.5);
    		p1.silsu = p1.bonbong - p1.tex;
    
    		p2.bonbong = 2500000;
    		p2.name = "아로미";
    		p2.tex = (int) (p2.bonbong * 0.045 + 0.5);
    		p2.silsu = p2.bonbong - p2.tex;
    
    		p3.bonbong = 1500000;
    		p3.name = "투투";
    		p3.tex = (int) (p3.bonbong * 0.045 + 0.5);
    		p3.silsu = p3.bonbong - p3.tex;
    
    		System.out.println("-----------------");
    		System.out.println("---12월 급여 내역---");
    		System.out.println("-----------------");
    		System.out.println("성명 :" + p1.name);
    		System.out.println("본봉 :" + p1.bonbong);
    		System.out.println("세금 :" + p1.tex);
    		System.out.println("실수령액 :" + p1.silsu);
    		System.out.println("");
    
    		System.out.println("-----------------");
    		System.out.println("---12월 급여 내역---");
    		System.out.println("-----------------");
    		System.out.println("성명 :" + p2.name);
    		System.out.println("본봉 :" + p2.bonbong);
    		System.out.println("세금 :" + p2.tex);
    		System.out.println("실수령액 :" + p2.silsu);
    		System.out.println("");
    
    		System.out.println("-----------------");
    		System.out.println("---12월 급여 내역---");
    		System.out.println("-----------------");
    		System.out.println("성명 :" + p3.name);
    		System.out.println("본봉 :" + p3.bonbong);
    		System.out.println("세금 :" + p3.tex);
    		System.out.println("실수령액 :" + p3.silsu);
    		System.out.println("");
    	}
    
    }
    

     

    객채배열

     

    class Pay {

    }

    class PayCalc {

      main() {

       Pay[] pay = new Pay[3]  //배열변수 만들때 new한번

          pay[0] = new Pay;  //인스턴스화할때 new 한번// new가 두번 나온다

          pay[1] = new Pay;

          pay[2] = new Pay;

       ===> 결국 인스턴스화는 전부작성해야된다, 루프화시켜도됨

Designed by Tistory.