13일차

Java 2016. 3. 30. 13:51

오버라이딩 : 부모클래스에서 상속받은 메소드 등을 자식클래스에서 새롭게 정의하는 것 (재정의)
오버로딩 : 중복 정의(타입만 바꿔서 재정의)


->절차지향
함수만 모아서

-> 객체지향
1.변수 + 함수를 묶은게
2.상속
3.다형성 : GOF 디자인패턴

->프레임워크(Spring)

->함수지향
==========================
상속
어떤클래스가 다른 클래스의 멤버변수와 멤버함수를 물려받는 것

상속의 장점

-상속을 통하여 기존 클래스의 필드와 메소드를 재사용
-기존 클래스의 일부 변경도 가능
-상속을 이용하게 되면 복잡한 GUI 프로그램을 순식간에 작성
-상속은 이미 작성된 검증된 소프트웨어를 재사용
-신뢰성 있는 소프트웨어를 손쉽게 개발, 유지 보수
-코드의 중복을 줄일 수 있다.

class (서브클래스) extends (슈퍼클래스)
-슈퍼클래스에서 서브클래스로 상속

상속이라는게 부모클래스로  객체 찍어 내고 거기에 이어붙여서 자식으로 객체 찍어내서 붙여서 하나의 객체를 만들어내는것


private
-내부에서만 접근 가능한 키워드 가능
-자식의 영역에서도 접근 불가

protected
-같은 패키지와 자신을 상속받은 자식클래스 영역에서 접근 가능





final 함수와 클래스
-함수에 final을 붙이면 상속이나 재정의 할 수 없다.
-클래스에 final을 붙이면 아예 상속이 안됨


자식클래스의 객체 내부에는 부모클래스로 만든 객체가 포함되있기 때문에

부모클래스의 참조변수로 자식클래스의 객체를 참조할 수 있음.

-----

객체지향에서의 다형성
전제: 부모클래스의 참조변수로 자식클래스의 객체를 참조할 수 있음( 자식클래스의 객체에는 부모클래스로 만든 객체를 포함하니까)

-부모클래스의 참조변수로 자식클래스 객체를 참조했을때는 부모클래스에 존재하는 멤버에만 접근이 가능함

-부모클래스의 참조변수로 자식클래스의 객체를 참조해서 부모클래스에 존재하는 멤버함수 호출시 자식클래스에서 해당 메소드를 오버라이딩 했다면 실제 호출되는 함수는 자식에서 오버라이딩한 메소드가 호출됨 (동적 바인딩)


'Java' 카테고리의 다른 글

12일차  (1) 2016.03.29
11일차  (1) 2016.03.29
9일차  (1) 2016.03.24
7일차  (1) 2016.03.22
6일차  (1) 2016.03.21
Posted by 보로로롬
,