1. 상속(inheritance) 의 개념
1) 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
2) 관계없는 두 개 이상의 클래스를 조상(부모), 자손(자식)으로 직접적 관계를 만듦.
3) 자손은 조상의 모든 멤버를 상속받음.(단 생성자, 초기화 블록제외)
4) 자손의 멤버개수가 조상보다 적을 수가 없음.(같거나 많음) ==> 다형성 개념 적용
5) is a 관계 : ~은 ~이다 (호랑이는 포유류이다)
6) 만들어질 클래스에 영향을 가장 많이 주는 클래스는 상속하고
보조적인 것은 포함으로 구현.
7) 자바는 단일 상속만 허용함.
8) 상속하는 클래스 : parent class, base class, super class
상속받는 클래스 : child class, derived class, sub class
2. 포함 관계 (composite)
1) 다중 상속을 대체하는 방법
2) 클래스의 멤버변수로 다른 클래스를 선언하는 것.
3) 규모가 적은 클래스를 먼저 만들고, 이것을 조합하여 규모가 큰 클래스를 만들어감.
4) has a 관계 : ~은 ~을 가지고 있다 (원은 점을 갖고 있다)
3. Object 클래스 -- 모든 클래스의 조상
1) 사용자 정의 클래스는 아무것도 상속을 받지 않더라도 자동으로 Object를 상속 받음.
4. 오버라이딩(Overriding) -- 재정의
1) 조상클래스에서 상속받은 메서드를 자손한테 맞게끔 구현부를 수정하는 것.
2) 반드시 메서드 선언부는 동일해야 함.(리턴타입, 메서드명, 매개변수)
3) modify, change의 개념
5. 오버로딩(Overloading)
1) 새로운 메서드를 만드는 것 (new의 개념)
2) 매개변수의 갯수, 타입, 순서가 다른 경우임.
매개변수의 이름과 리턴타입은 영향을 주지 않음.
6. this
1) 인스턴스 자기 자신의 주소를 가지고 있는 참조변수.
2) 지역변수와 인스턴스 멤버변수 구별함.(변수의 모호성)
7. super
1) 근본적으로 this와 같음
2) 조상클래스의 참조변수
3) 조상의 멤버와 자신의 멤버를 구별 지을때 사용함.
8. super()
1) 조상 클래스 생성자 호출
2) 자손 클래스의 인스턴스를 생성하면, 자손과 조상의 멤버가 결합된 상태로 메모리에 할당됨.
3) 조상의 멤버들도 반드시 초기화 되어야 하기 때문에, 자손클래스의 생성자에서
첫문장에 반드시 super()를 작성해서 조상클래스의 생성자를 호출해야 함.
4) super() 생략하면 컴파일러가 알아서 추가해 줌.
9. super(int x) - 매개변수가 있는 조상클래스의 생성자.
'Web > Java' 카테고리의 다른 글
Java(14) - 다형성 (0) | 2022.01.28 |
---|---|
Java(13) - review2 (0) | 2022.01.28 |
Java(11) - 컬렉션프레임워크 (0) | 2022.01.28 |
Java(10) - 배열 (0) | 2022.01.28 |
Java(9) - 객체지향프로그램3 (0) | 2022.01.28 |
댓글