posted by changhozz 2012. 5. 31. 00:07


new = 객체의 데이터가 저장될 메모리공간을 할당해 주기위해 사용되는 연산자이다.

오버로딩이란?
★하나의 클래스 내에★ 인수의 개수나 형이 다른 동일한 이름의 메소드및 생성자를 여러 개
정의하는것.

오버로딩 - Method 오버로딩
         - Constructor 오버로딩
------------------Method 오버로딩--------------------
ex ) setDate(년,월,일)
     setDate(월,일)
ex )  public void plus (int a, int b){
 System.out.println(a+b);
}
      public void plus (int a, int b, int c){
 System.out.println(a+b+c); 
}

파라미터의 개수, 형에 따라서..

static이 붙어있으면 객체를 생성안하고 부를수있음.
class명.메소드명

-----------------Constructor 오버로딩-----------------
오버로딩은 생성자를 이용하여 객체를 생성시에도
적용 가능함.

public class Mp3 {

public String color = "";
public int price = 0;

public Mp3(){
}               <---------default 생성자

public Mp3(String param1, int param2){
this.color=param1;
this.price=param2;
}


public static void main(String args [] ){
Mp3 mp3_1 = new Mp3();

Mp3 mp3_2 = new Mp3("red",10000);
}

-------------------------------------------------
this란 특정 객체 내에서 현재 객체 자신을 의미하는 참조 변수이다.

this는 자기자신 클래스를 가르킴  ==> ThisTest
this를 쓰는 이유는 명확하게 하기위해서.


 this.a = a;
  멤버변수a에┘  └피라미터 a를 넣어라.

------------------------------------------------
this() 란?
"현재 객체내의 생성자를 의미한다."
반드시 생성자의 첫 행에 정의해야한다. (다음행에는 무엇이오든 상관없음)
장점 : this()를 이용하여 한 클래스 내의 특정생성자에서
오버로딩되어있는 다른 생성자를 호출 할 수 있다.

public class ThisConstr{

public ThisConstr(){
 this("");           
}                            //②default 생성자 호출후
                                 오버로딩된 또 다른 생성자호출.
                                  ""<-이것은 문자열을 의미하므로  
                                  String형 생성자를 호출한다.
 
public ThisConstr(String a){
 System.out.println("ThisConstr(String a)생성자 호출");
} // ③String형 생성자가 호출되어 Sysout된 내용을 출력.


public ThisConstr(int a){
 System.out.println("ThisConstr(int a)생성자 호출");

}

public static void main(String args [] ) {
 ThisConstr con = new ThisConstr();   //①ThisConstr클래스에 con이란
}            객체를 생성하면서 파라미터값이
}            없으므로 default 생성자를 호출함.
           

this();  ==>  자기자신 생성자를 호출함.
그러나 의미가 없다.
계속 자기자신만 호출하는것이므로.
this(""); ==> 이런식으로
다른 생성자를 호출하는거임.

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


파라미터를 이용하여 실행시 arguments를 입력 받을수있다.
Run -> Run Configurations -> Arguments -> Program arguments 에 입력.
띄어쓰기를 기준으로 각 Index에 저장됨.

[Java 실행시 Arguments 입력하여 실행방법]
java (클래스명) (인수1) (인수2) (인수3)···

ex)
C:> javac Test.java
C:> java Test red color blue
  
----------------------------------------------------------------------
입력후 정렬 하는 습관!
Ctrl + Shift + f

작성후 저장하는 습관!
Ctrl + s

 


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

 

default 생성자(default constructor)

default 생성자는 인자도 없고 내용도 없는 생성자인데,

객체가 생성 될 때 반드시 생성자가 호출되어야 하므로, 클래스에 생성자가

하나도 선언되어있지 않으면 컴파일러가 default 생성자를 자동을 생성한다.
 
하지만, 생성자가 하나라도 존재하는 클래스에는

자동으로 기본 생성자가 삽입되지 않는다.

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


용어!

argument - 인수
unsign - 부호가없는
parse - 분석하다
radix - 진법
api = documentation

 

'JAVA > 팀장님 JAVA수업' 카테고리의 다른 글

팀장님수업6  (0) 2012.06.22
팀장님수업5  (0) 2012.06.14
팀장님 수업3  (0) 2012.05.24
팀장님 수업 1  (0) 2012.05.17
팀장님 수업 2  (0) 2012.05.17