2013년 8월 28일 수요일

자바 생성자와 void

생성자와 void[oraclejava커뮤니티에서 강좌, 오라클자바교육,오라클교육,자바교육잘합니다]

오라클자바커뮤니티에서 설립한  개발자실무교육6년차 오엔제이프로그래밍 실무교육센터
(신입사원채용무료교육, 오라클, SQL, 튜닝, 자바, 스프링, Ajax, jQuery, 안드로이드, 아이폰, 닷넷, C#, ASP.Net)  
www.onjprogramming.co.kr

자바에서 메소드를 선언할 때 리턴형식을 기술하지 않는 경우는 컴파일 되지 않습니다. (C언어에서는 Return값의 형식을 생략하면 int를 되돌리는 것으로 간주 합니다.)

만약 생성자에 void를 붙이면 어떻게 될까?

public class Circle {
        void Circle() {               
        }       
        public static void main(String[] args) {
                System.out.println("Circle");
        }
}

자바에서는 이것에 대해 경고를 표시하지 않으며 void를 붙였기 때문에 Circle()을 생성자가 아닌 일반 메소드로 인식합니다.  물론 생성자와 동일한 이름의 메소드를 일부러 만드는 사람은 거의 없으므로 이러한 동일한 이름의 메소드에 대해 컴파일러가 에러를 보여주면 되겠지만  자바에서는 그렇게 하지 않습니다.

만약 위소스를 이클립스에서 컴파일하여 실행 한다면 “메소드 생성자 이름과 같다”고 경고를 보일 겁니다. 이런것을 보면 이클립스가 꽤 괜찮은 것 같더군요… ^^

댓글 없음:

댓글 쓰기