클래스의 구성요소
- 필드, 메소드
객체지향 프로그래밍의 특징
- 캡슐화, 상속, 다형성
기본 생성자 (디폴트 생성자) : 파라미터가 없는 생성자.
생성하지 않고 상속되는 경우 자식 클래스에 자동으로 생성된다. (이클립스가 자동 생성 해줌)
상속
- 부모의 멤버변수, 메소드를 가지고 온다.
- 생성자(Constructor) 호출 시 부모의 생성자부터 호출한다.
- 코드의 중복을 줄여주는 장점이 있다.
- 자바에서는 다중 상속을 허용하지 않는다. (C언어에서는 가능)
- ctrl + 클래스 명 누르면 그 클래스를 열어준다. (이클립스 기능)
- alt + 왼쪽키 : 이전화면으로 돌아간다. (이클립스 기능)
this : 나 자기자신 // super: 현재 클래스에서 부모클래스를 말함. 명시적 호출
메소드 재정의 (method override) : 부모로부터 상속받은 메소드를 자식 클래스에서 자신클래스의 기능에 적합하도록 재정의 하는 기능. -> 동일한 메소드가 있을 경우 객체가 생성된 클래스 내의 메소드만 호출된다!!
final class : 상속할 수 없는 클래스
final method: 메소드 overriding할 수 없음, 수정될 수 없다.
protected 의 경우 다른 패키지에서는 볼 수 없다. 상속되는 경우만 가능.
다형성
- 자동 타입변환때문에 부모 클래스 변수에 자식클래스 타입을 담을 수 있다. (부모 클래스 변수명 = new 자식클래스)
Character.isUpperCase(ch) => 대문자인지 확인해주는 자바에서 제공해주는 함수.
*instanceof 키워드
객체를 타입 캐스팅 가능한지 확인해볼 수 있는 키워드.
추상클래스 (Abstract Class) : 객체를 직접 생성할 수 있는 클래스(실체 클래스)와 다르다.
객체 생성할 수 없는 클래스 이다. 용도: 실체 클래스의 공통 필드와 메소드 이름을 통일할 목적, 실체 클래스 작성 시간 절약해줌 (이클립스에서 클래스 생성 시 아래 체크 가능하여 바로 제작 가능.
'Java' 카테고리의 다른 글
Java 개발 공부 12~13일차 (21.09.01~02) (0) | 2021.09.02 |
---|---|
Java 개발 공부 10 ~ 11 일차 (21.08.30~31) (0) | 2021.08.31 |
Java 개발 공부 8일차 (21.08.26) (0) | 2021.08.28 |
Java 개발 공부 7일차 (21.08.25) (0) | 2021.08.28 |
Java 개발 공부 6일차 (21.08.24) (0) | 2021.08.28 |