안녕하세요. 삶의 질을 높이고자 노력하는 영차영차입니다.
드디어 국비지원 학원을 다니며 공부에 전념을 할 수 있게 되었습니다.
해당 포스팅은 강의 복기용으로 키워드를 기록하는 용도의 포스팅입니다.
--------------------------------------------------------------------------------------------------
-클래스의 등장배경
변수의 단점 : 하나의 변수만 다루니 불편- > 배열 사용
배열의 단점: 하나의 타입만 다루니 불편 -> 구조체 사용 (JAVA에는 없음)
구조체의 단점: 아무 메소드나 접근가능한 보안 문제
-> 변수는 private로 접근할 수 없도록 하고 변수와 메소드를 함께 묶어 클래스로 만듦. 변수를 처리하는 메소드는 공개하여 다른 클래스의 메소드에서 접근할 수 있도록 만듦. -> 캡슐화
-게터와 세터
-캡슐화의 원칙. private필드, public메소드, getter와 setter . 필드에 직접접근을 막는것.
-게터세터 명명규칙 getName, getNum 등..
- this.
|자기자신의 객체 주소를 가지고 있음.. 메소드나 생성자 내에서 매개변수가 우선 인식되기 때문에 this.필드로 구분해줌.
-다이어그램, 접근제한자 표기
- private
+public
~default
#protected
필드 = 속성, 메소드 = 기능
선언 위치에 따른 변수 구분, 클래스변수, 멤버변수(인스턴스변수), 지역변수
-변수별 소멸시기
-static
-final
-메소드 오버로딩 ( 다중 정의) 타개순(타입, 개수, 순서)
-생성자
-디폴트생성자
-생성자의 역할: 객체생성, 객체초기화.
-생성자 오버로딩
-this()
-객체 = 인스턴스
-클래스의 구조 // 헤더, 시그니처, 바디
-객체지향의 3대원칙 캡슐화, 상속, 다형성
-클래스 간 관계 Has a 포함관계, Is a 상속관계
-오버라이딩, 재정의 @Override
-정적바인딩, 동적 바인딩// 로버라이딩 -> 정적바인딩 -> 정적바인딩의 우선순위가 높음.
-super, 부모객체의 주소
-super() 부모객체의 생상저 호출 메소드. 후손생성자의 첫줄에는 부모객체의 생성자가 있어야함.(jvm이 디폴트)
-부모클래스의 생성자는 상속되지 않으나 자동으로 호출됨.
-부모의 private 는 상속은 되지만 직접 접근은 불가하다.
-모든 클래스의 어머니 Object
- extends Object가 숨어있다.
-상속의 특징
자바는 단일상속만 지원함. 단일상속이 다중상속보다 명확하고 신뢰성 있는 코드 작성이 가능하기 때문.
여러 클래스로부터 상속을 받는 다중상속은 불가 . c++에서는 가능 . 인터페이스는 다중구현이 가능함.
-바인딩 , 정적바인딩, 동적바인딩,
-다형성 Parent p = new Child();
-객체배열의 다형성, 매개변수의 다형성
-다형성을 이용하면 부모타입의 변수 하나로 여러종류의 자식객체들을 처리할 수 있기 때문에 편리하다.
-자식객체를 부모 타입으로 사용할 수 있는 것.
-구현객체를 인터페이스 타입으로 사용할 수 있는 것.
-up casting
: 부모타입의 변수에 자식객체를 대입하는 것. 부모타입이기 때문에 자식객체만의 멤버를 사용할 수 없다.
Parent p = new Child(); // Child에는 playGame() 메소드가 있음
p.playGame() (X) 불가
-down casting
" 부모타입으로 up casting 된 자식 객체에 있는 멤버를 사용하려면 down casting 해주어야함. 변수의 형변환과 같다.
((Child)p).playGame() (O) 가능
'개발 > KH국비지원과정' 카테고리의 다른 글
[KH국비지원 웹개발자 과정] Day_10 키워드_자바 API, 예외처리 등 (1) | 2022.06.25 |
---|---|
[KH국비지원 웹개발자 과정] Day_9 키워드 객체지향 3대원칙, 추상클래스, 인터페이스 등 (1) | 2022.06.23 |
[KH국비지원 웹개발자 과정] Day_7 키워드_다차원배열, 메소드,객체 등 (2) | 2022.06.21 |
[KH국비지원 웹개발자 과정] Day_6키워드_배열 등 (0) | 2022.06.20 |
[KH국비지원 웹개발자 과정] Day_5 키워드 _제어문 및 주간리뷰 (0) | 2022.06.18 |