2014년 12월 9일 화요일

JAVA Method Overring(자바 메소드 재정의)[구로자바교육/구로디지털자바학원/스프링,마이바티스교육/실무스프링교육]

JAVA Method Overring(자바 메소드 재정의)
 
상위 클래스의 인스턴스 메소드를 새로 구현함으로써 외부에 다른 반응양식을 보일 수 있다
메쏘드 재정의를 하기위해서 메쏘드 이름, 매개변수개수, 타입, 리턴형이 같아야 한다.
객체의 타입과 관계없이 참조값(reference)이 가리키는 실제 객체 자료형의 메쏘드가 선택되어 런타입중 실행
실제 자료형에 메쏘드가 없으면 가장 가까운 상위 클래스의 메쏘드가 실행된다.
상위 클래스보다 접근 제어를 강화할 수 없다
상위 클래스에 public으로 되어있는 함수를 하위 클래스에서 private으로 할 수 없다.
 

[예제]
 
package onj;
class A1 {
 public void m(int i) {
  System.out.println("A1의  m(int)");
 }
 public void m(double f) {
  System.out.println("A1의  m(double)");
 }
}
class B1 extends A1 {
 //A1의 m(int i) 재정의
 public void m(int i) {
  System.out.println("B1의 m(int)");
 }
 //method overloading(매개변수의 개수를 변화줌)
 public void m() {
  System.out.println("B1의 m()");
 }
}
class Override {
 public static void main(String[] args) {
  A1 a = new A1();
  a.m(1); // A1의 m(int)가 호출됨
  B1 b = new B1();
  b.m(1);     // B1의 m(int)가 호출됨
  b.m(1.0);   // B1에는 m(double d)이  없다, 상위클래스 A1의 b.m(double d) 호출 
  
  A1 c = new B1(); 
  c.m(1);   // 마지막으로 재정의된 메쏘드 B의 m(int)가 호출됨
  //c.m(); // 컴파일오류: 자료형 A1에는 메쏘드 m()이 정의되어 있지 않음.
  
 }
}
 
[결과]
 
A1의  m(int)
B1의 m(int)
A1의  m(double)
B1의 m(int)



 [100%환급,실무전문]빅데이터/SQL/자바/스프링/안드로이드/닷넷C… 오라클자바…12-272788
 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육…오라클자바…12-112023
53 [평일100%환급7건]웹퍼블리싱,자바&JSP,안드로이드,C#닷넷,SQL기… 오라클자바…03-151830
52 [주말]C#,ASP.NET마스터 오라클자바…01-312000
51 [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… 오라클자바…01-312945
50 [주말주간]자바&웹,jQUERY,스프링프레임워크,마이바티스 오라클자바…01-311537
49 [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정-… 오라클자바…01-191859
48 [평일야간,주말]안드로이드개발자과정(Android기초실무) 오라클자바…01-111734
47 [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… 오라클자바…01-032300
46 [100%환급,실무전문]빅데이터/SQL/자바/스프링/안드로이드/닷넷C… 오라클자바…12-272788
45 [평일주간]NoSQL,MongoDB,빅데이터기초과정 오라클자바…12-191950
44 [평일주간야간, 주말]웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX… 오라클자바…12-141930
43 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… 오라클자바…12-112023
42 [평일주간]빅데이터하둡기초과정(BigData Hadoop) 오라클자바…12-091575
41 [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 오라클자바…12-011800
40 [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… 오라클자바…12-012016
39 [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) 오라클자바…12-011451

댓글 없음:

댓글 쓰기