@ 다형성 : is a 관계에서 생성된다.
 
현실에서 개라는 일반명사가 지나가던 한 강아지를 가르킬 수 있다
.
 
종은 같되 그 각 개체는 각기 다른 특성을 가지고 있다
.
 
각 클래스를 하나로 부를수 있는 기법.

 
@ javadoc
파일은 상대방에게 클래스 파일을 넘겨줄때 설명서를 만들어준다.

ex)javadoc 파일명.java

@추상클래스 : 추상클래스는 부모클래스가 자식에게 남겨준 빚과 같다. 자식은 반드시 이 물려준 추상메서드 몸체를 완성하여야 한다. 즉 재정의하여야한다.
//
상속관계에서 부모클래스가 추상클래스일 경우
:
 //
자식클래스는 반드시 추상메서드의 몸체를 완성하여야 한다
.
 //
, 재정의 하여야 한다
.(=Override)
//
메서드에 몸체({} 브레이스)가 없다
!!!
 //
몸체가 없는 추상적인 메서드 abstract, public abstract의 순서 상관없음

//
일반적인 메서드가 클래스내에 있어도 된다.
//
몸체가 없는 추상적인 메서드 abstract, public abstract의 순서 상관없음


@
인터페이스 : 클래스는 아니면서 기능만을 가지고 있는놈. 전에 만들었던 놈이 변환되어 해당클래스에 부착시킨다. 인터페이스가 추상클래스 보다 더 추상적이다. 다중상속을 인터페이스를 이용해 구현한다. 인터페이스는 모두 추상메서드만을 가지므로 abstract수정자를 굳이 붙일 필요는 없다.
implements
를 사용(extends 의 역활)


추상클래스와 인터페이스는 목적이 같다. 또한 같은 류로 만든다
. is a 관계에서 같은 데이터 타입을 만들듯이 인터페이스도 같은 류로 만든다. 하지만 클래스의 다중상속은 불가능하기때문에 인터페이스를 추가하는 방식으로 한다.


@자바에서 지원하는 객체의 유형

1.클래스 -new연산자로 올린다.
2.
추상클래스 - new연산자로 메모리에 올릴수 없다!!만들다가 말았으니깐 못 올린다
.
  
구체화가 안되서 안올라감

  
자식에 의해 구체화되므로, 자식을 메모리에 올릴때 올라간다.
3.
인터페이스 - 인터페이스를 구현한 객체에 의해 메모리에 올라간다.

공통점: 객체이다.
 1)
따라서 객체라면 속성과 메서드가 있다
.
 2)
반드시 메모리에 올라와야 사용할 수 있다
.
차이점:
메모리에 올리는 방법

//상속관계에서 부모클래스가 추상클래스일 경우:
 //
자식클래스는 반드시 추상메서드의 몸체를 완성하여야 한다
.
 //
, 재정의 하여야 한다
.(=Override)
//
메서드에 몸체({} 브레이스)가 없다
!!!
 //
몸체가 없는 추상적인 메서드 abstract, public abstract의 순서 상관없음

//
일반적인 메서드가 클래스내에 있어도 된다.
//
몸체가 없는 추상적인 메서드 abstract, public abstract의 순서 상관없음


@수정자의 종류
1.static -
멤버여부를 결정하는 수정자
2.abstract -
내용이 구체화되지 않는 대상에 붙이는 수정자(메서드, 클래스)
3.final -
 1)
변수 - 변할 수 없도록 지정, 변수의 의미를 상실->상수가 되어버림

  final int a=1;
  a=4;(x
불가능)
 2)
메서드 - 오버라이딩을 금지됨

 3)
클래스 - 더이상 상속을 허용하지 않는다(라스트 모히칸. 마지막 남은애라 상속못함)

Posted by Taoist
,