일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- jdbc환경설정
- emmet환경설정
- forward
- redirect
- Git
- 비밀번호암호화
- 로그아웃
- 국비학원
- 검색기능
- mvc
- 권한변경
- 페이징
- 회원정보수정
- 비밀번호변경
- 관리자회원조회
- 배열
- jsp기본
- 페이지 재사용
- live server 환경설정
- 내배카
- 입력메소드
- 회원탈퇴
- 별찍기
- 정처기
- 인코딩
- 내일배움카드
- jdbc설정
- 국민취업지원제도
- 국취제
- github
- Today
- Total
기록
*17일차(다형성 / 바인딩) 본문
@다형성
*정의
-상속을 이용한 기술로 자식객체를 부모클래스타입의 변수로 다룰 수 있는 기술
*객체배열과 다형성
-다형성을 이용하여 상속관계에 있는 여러 개의 자식클래스를 부모클래스의 배열에 저장가능
*매개변수와 다형성
-메소드 호출시 다형성을 이용하여 부모타입의 매개변수를 사용하면, 자식타입의 객체를 받을 수 있다.
*클래스 형변환 (up casting)
-상속관계에 있는 부모,자식 클래스 간에 부모타입의 참조형 변수가 모든 자식 타입의 객체의 주소를 받을 수 있다.
-자식객체의 주소를 전달받은 부모타입의 참조변수는 원래 부모타입의 멤버만 참조 가능
*클래스 형변환 (down casting)
-자식객체의 주소를 받은 부모 참조형 변수를 가지고 자식의 멤버를 참조해야 할 경우, 후손 클래스 탕ㅂ으로 참조형 변수를 형 변환 해야 함
-자동으로 처리 X => 후손 타입을 명시해서 형 변환 해야 함
-클래스 간 형 변환은 반드시 상속관계에 있는 클래스끼리만 가능함
*instanceof 연산자
-현재 참조형 변수가 어떤 클래스 형의 객체 주소를 참조하고 있는지 확인할 때 사용
-클래스 타입이 맞으면 true 아니면 false 반환
@바인딩
*정의
-실제 실행할 메소드 코드와 호출하는 코드를 연결시키는 것을 바인딩이라고 한다.
-프로그램이 실행되기 전에 컴파일이 되면서 모든 메소드는 정적 바인딩 된다.
1.정적 바인딩
*정의
-CompileTime에 결정
-호출한 메소드의 실행타입별로 실행할 메소드가 결정되는 것.
2.동적바인딩
*정의
-Runtime에 결정
-다형성을 적용해 부모타입으로 메소드를 실행하면 자식클래스의 오버라이드된 메소드가 호출
-컴파일 시 정적바인딩된 메소드를 실행할 당시의 객체 타입을 기준으로 바인딩되는 것을 동적 바인딩이라 함.
*성립요건
-상속 관계로 이루어져 다형성이 적용된 경우에, 메소드 오버라이딩이 되어있으면 정적으로 바인딩 된 메소드 코드보다 오버라이딩 된 메소드 코드를 우선적으로 수행하게 됨.
'학원 > 강의' 카테고리의 다른 글
*19일차 (문자열 자르기) (0) | 2022.02.17 |
---|---|
*18일차 (추상클래스 / 인터페이스) (0) | 2022.02.16 |
*16일차 (상속) (0) | 2022.02.14 |
*15일차 (0) | 2022.02.11 |
*14일차(생성자) (0) | 2022.02.10 |