블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total659,138
Today21
Yesterday31

'오버로딩'에 해당되는 글 1건

  1. 2010.08.05 꼭 해야 할 일이 있다면 생성자를.
클래스를 사용하기 위해서는 객체를 생성해야 사용하는것이 가능하다. 그리고 객체가 생성될때 클래스에서 꼭 이루어지는 것이 있는데, 바로 생성자를 호출하는 것이다. 생성자가 꼭 챙겨주지 않는다면, 생성자가 없다는 에러메시지를 만나도 적절하게 대응하지 못하는 불상사가 발생하고 말 것이다.


생성자는??
각 클래스의 객체가 생성될때마다 그 클래스 객체를 사용하기 위해서 꼭 선행되어야 할 일들이 있다. 하지만, 매번 그러한 일들을 일일이 선언해 주고 실행해 주어야 한다는 것은 굉장히 불편한 일이고, 비 합리적인 일이기도 하다. 이것은 자바가 추구하는 방법에 굉장히 위배되는 일이기도 하다. 그래서 자바의 클래스에는 이러한 역할을 해주는 것이 있는데, 이것이 바로 생성자이다.


생성자 사용하기.
생성자를 사용하는 방법은 매우 간단하다. 단지 클래스의 이름과 동일한 메소드를 만들고, 그 안에 하고자 하는 로직을 담아내면 된다.

class A {
    public A() {
    }
}


생성자 오버로딩.
생성자를 사용하는 또 하나의 이유는 동일한 클래스에서 다른 인자의 형태를 받기 위해서이다. 클래스의 생성자는 단 하나만 존재하는 것이 아니라, 각 인자의 타입과 갯수에 따라 수많은 종류가 존재하기도 한다. 이렇게 다양한 생성자를 갖는 것을 생성자 오버로딩이라고 한다. 인자의 타입과 갯수에 따라 다른 생성자가 호출되지만, 아무것도 정의되지 않을 경우에는 아무런 인자값을 갖지 않는 디폴트 생성자가 호출된다. 클래스를 만들때는 아무런 타입이 없는 디폴트 생성자를 선언해주는 것이 좋은데, 왜냐하면, 상속의 관계가 있을 경우 하위 클래스에서 맞는 생성자가 없을 경우 상위의 디폴트 생성자를 호출하기 때문이다. 만일 디폴트 생성자가 없다면 에러가 발생하게 되는데, 이런 생성자 관련 에러는 찾기가 힘든 경우가 대부분이다.

class A {
    public A() {}
    public A(int i, int j) {}
    public A(String str) {}
}



Posted by seanhigher

댓글을 달아 주세요

최근에 달린 댓글

글 보관함