본문 바로가기
728x90
728x90

BackEnd FrontEnd/JAVA22

다형성 Java에서 상속을 이용하는 것과 인터페이스를 이용하는 두 가지 방식으로 다형성 참조를 생성할 수 있다. 2. 상속에 의한 다형성 Animal creature = new Horse(); Animal 이라는 클래스 타입으로 변수를 선언하면 이 변수는 Animal 의 어떤 객체라도 참조할 수 있다.추가로, Animal 을 상속한 어느 클래스의 어느 객체라도 참조할 수 있다.따라서 Animal 을 상속한 Horse() 객체를 참조할 수 있다. 클래스 계층구조의 최상단까지 적용하면, Object 참조 변수는 궁극적으로 모든 클래스가 Object 클래스의 자손ㅇ이기 때문에 어떤 객체든 가리킬 수 있다. creature 는 Animal, Horse, 또는 Animal을 상속한 어떤 클래스도 참조할 수 있기 때문에 .. 2017. 10. 26.
동적바인딩 정적바인딩 메서드를 호출할 때 컴파일러는 어떤 메서드가 호출되고 있는지 그 메서드가 메모리 상의 어떤 위치에 있는지도 정확히 알고있다.컴파일할때 메서드를 호출하는 코드는 고정된 메서드의 주소로 번역된다.이러한 것을 정작 바인딩 또는 초기 바인딩이라고 한다.가상 메서드가 아닌 메서드는 이러한 정적 바인등을 하게된다. 그러나 가상 메서드가 호출될때 컴파일러는 어떤 메서드를 호출하는지 알 수 없게된다.employee[i].payCheck() 코드가 employee, regularEmployee 중에 어떤 클래스의 payCheck 메서드를 호출하는 것인지 도무지 알 수 없다. 그것은 employee[i] 참조 배열 변수에 저장된 객체가 어떤 것인지 컴파일시에는 알 수가 없기 때문이다. 참조배열변수에 저장된 값은 실행시에 .. 2017. 10. 26.
JAVA8 완벽한 설계에 이르렀다 함은, 더할 것이 없을 때가 아닌, 뺄 것이 없을 때를 말한다. – 앙투안 드 생텍쥐페리모 든 기술은 세 단계를 거친다. 처음엔 조잡하게 단순하고 매우 불만족한 기계, 두번째는 매우 복잡한 조율을 거쳐 원형의 결점을 극복하고 그로인해 어느정도 만족스러운 성능을 내도록 설계된 터무니없이 복잡한 기계 뭉치, 세번째는 거기에서 나온 궁극의 타당한 설계. – 로버트 A 하인라인이 단순성과 적절성을 강조하는 두 명언은 1996년 5월 제임스 고슬링과 헨리 맥길턴이 작성한 백서, 자바 언어 환경(The Java Language Environment)에서 자바 언어의 특징을 강조하면서 인용되었습니다. 자바는 처음부터 뺄 것이 많아 불완전하고 복잡한 2단계 기계인 C++애서 친근함은 유지하면서 .. 2017. 10. 24.
Reflection이란 구체적인 클래스 타입을 알지 못해도그 클래스의 메도스 타입 변수들을 접근할 수 있도록 해주는 java api자바 클래스 파일은 바이트 코드로 컴파일 되어 static 영역에 위치한다.클래스 이름만 알고 있다면, 언제든 이영역을 뒤져서 클래스에 대한 정보를 가져올 수 있다.아래는 가져올 수 있는 정보들classnameclass modifier(public private synchronized)package infosuperclassimplemented interfacesconstructorsmethosFieldsannotations Java Reflection 정의 리플렉션이란 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법을 말한다. 투영, 반사 라는 사전적인 의미를 지니고 있다. 스프링을 공부하.. 2017. 9. 27.
728x90
728x90