[JAVA교육]자바 생성자와 void, 자바강좌, JDK1.7, 자바1.7강좌,자바7, 오늘은 자바에서의 생성자와 void에 대해 알아보겠습니다.
오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터
(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)
자바에서 메소드를 선언할 때 리턴형식을 기술하지 않는 경우는 컴파일 되지 않습니다. (C언어에서는 Return값의 형식을 생략하면 int를 되돌리는 것으로 간주 합니다.)
만약 생성자에 void를 붙이면 어떻게 될까?
public class Circle {
void Circle() {
}
public static void main(String[] args) {
System.out.println("Circle");
}
}
자바에서는 이것에 대해 경고를 표시하지 않으며 void를 붙였기 때문에 Circle()을 생성자가 아닌 일반 메소드로 인식합니다. 물론 생성자와 동일한 이름의 메소드를 일부러 만드는 사람은 거의 없으므로 이러한 동일한 이름의 메소드에 대해 컴파일러가 에러를 보여주면 되겠지만 자바에서는 그렇게 하지 않습니다.
만약 위소스를 이클립스에서 컴파일하여 실행 한다면 “메소드 생성자 이름과 같다”고 경고를 보일 겁니다. 이런것을 보면 이클립스가 꽤 괜찮은 것 같더군요… ^^
만약 생성자에 void를 붙이면 어떻게 될까?
public class Circle {
void Circle() {
}
public static void main(String[] args) {
System.out.println("Circle");
}
}
자바에서는 이것에 대해 경고를 표시하지 않으며 void를 붙였기 때문에 Circle()을 생성자가 아닌 일반 메소드로 인식합니다. 물론 생성자와 동일한 이름의 메소드를 일부러 만드는 사람은 거의 없으므로 이러한 동일한 이름의 메소드에 대해 컴파일러가 에러를 보여주면 되겠지만 자바에서는 그렇게 하지 않습니다.
만약 위소스를 이클립스에서 컴파일하여 실행 한다면 “메소드 생성자 이름과 같다”고 경고를 보일 겁니다. 이런것을 보면 이클립스가 꽤 괜찮은 것 같더군요… ^^
오라클자바커뮤니티 추천 실전 개발자 강좌 - 개인80%환급
[평일저녁9/24]iPhone 하이브리드 앱 개발 실무과정
[평일저녁9/26]Spring3.X, MyBatis, Hibernate실무과정 
[주말9/28]웹퍼블리싱 마스터 
댓글 없음:
댓글 쓰기