안녕하세요.
2024. 09. 09. 월요일 TIL입니다.
오늘은 계속 이어서 java 문법 강의 3주차 강의를 복습했습니다.
그래도 계속 듣다보니 이제는 어느정도 들리는 것 같습니다.
데일리 루틴 코드카타
오늘은 음양더하기 라는 문제를 풀었습니다.
[내일배움캠프] 알고리즘 Daily Routine 26. 음양 더하기
안녕하세요. 26회차 과제 "음양 더하기"입니다.문제 설명어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs
tip-blog-welcome.tistory.com
오늘 배운 것
인스턴스 멤버와 클래스 맴버
멤버 = 필드 + 메서드
-. 인스턴스 멤버 = 인스턴스 필드 + 인스턴스 메서드
-. 클래스 멤버 = 클래스 필드 + 클래스 메서드
* 인스턴스 멤버
인스턴스 맴버는 객체를 생성해야 사용할 수 있음
* 클래스 멤버
java의 클래스 로더에 의해 메서드 영역에 저장되고 사용됨
-. 이 때 클레스 맴버는 메서드 영역의 클래스와 같은 위치에 고정적으로 위치하고 있는 멤버를 의미
-. 따라서 클래스 멤버는 객체의 생성 없이 바로 사용이 가능
* 지역변수
메서드 내부에서 선언한 변수
-. 메서드 내부에서 정의될 때 생성되어 메서드가 종료될 때 까지만 유지
* 상수
final을 붙여 최종 값으로 지정하여 수정할 수 없음
final은 반드시 초기값을 지정해주어야 한다.
-. 상수는 대문자로 작성하는 것이 관례
생성자
* 생성자 선언과 호출
piblic Car() {} // 생성자 선언 (기본 생성자)
Car car = new Car(); //호출
* 필드 초기화
객체를 만들 때 인스턴스마다 다른 값을 가져야 한다면 생성자를 통해 필드를 초기화
-. 반대로 인스턴스마다 같은 값을 가지는 필드는 초기값을 대입
* 생성자 오버로딩
생성자를 통해 필드를 초기화할 때 오버로딩을 적용할 수 있음.
this와 this()
* this
this는 인스턴스 자신을 표현하는 키워드
매개변수와 필드명이 동일할 경우 자신에게 값을 대입하는 상황이 발생하므로 this 키워드를 사용
ex) model = model; > this.model = model
* this()
this()는 인스턴스 자신의 생성자를 호출하는 키워드
-. this() 키워드로 다른 생성자 호출 시 반드시 생성자의 첫 줄에 작성되어야 함
접근 제어자
* 접근제어자
멤버 또는 클래스에 사용하여 외부에서 접근하지 못하도록 혹은 접근하도록 제한
클래스 : public, default
메서드 & 멤버 변수 : public, protacted, default, private
지역변수 : 없음
접근제어자를 이용한 캡슐화(은닉성)
*Getter 와 Setter
객체의 무결성 즉, 변경이 없는 상태를 유지하기 위해 접근 제어자를 사용
직접적인 값의 조회나 세팅을 방지하기 위해 사용
packag와 import 이해하기
* package
패키지란 클래스의 일부분이면서 클래스를 식별해 주는 용도
상위 패키지와 하뒤 패키지를 도트(.)로 구분
* import
import는 다른 패키지에 있는 클래스를 사용하기 위해 명시하는 키워드
상속
클래스 간의 관계와 상속
* 상속
클래스 간의 상속은 extends 키워드를 사용
public class 자식클래스 extends 부모클래스 {}
부모클래스에서 받아서 확장하는 자식클래스
* 클래스 간의 관계
클래스간의 관계를 분석하여 관계 설정이 가능
-. 상속관계 : is - a (~는 ~다.)
-. 포함 관계 : has - a (~는 ~를 가지고 있다.)
* 단일 상속과 다중 상속
java는 다중 상속을 허용하지 않는다.
* final 클래스와 final 메서드
finall키워드를 지정하면 최종 클래스가 되므로 더 이상 상속할 수 없다.
* Object
Object 클래스는 java 내 모든 클래스들의 최상위 부모 클래스이므로 모든 클래스에서 사용 가능
오버라이딩
부모 클래스로부터 상속받은 메서드의 내용을 재정의 하는 것을 오버라이딩이라고 한다.
-. 선언부가 부모 클래스의 메서드와 일치해야 한다.
-. 접근 제어자를 부모 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
-. 예외는 무보 클래스의 메서드보다 많이 선언할 수 없다.
* super와 super()
super는 부모 클래스의 멤버를 참조할 수 있는 키워드
super()는 부모 클래스의 생성자를 호출할 수 있는 키워드
내일도 오늘보다는 조금 더 나은 내가 되도록 노력하겠습니다.
'내일배움캠프 > 내일배움캠프' 카테고리의 다른 글
[내일배움캠프] 2024. 09. 11. TIL (0) | 2024.09.11 |
---|---|
[내일배움캠프] 2024. 09. 10. TIL (0) | 2024.09.10 |
[내일배움캠프] 2024. 09. 06. 트러블 슈팅 TIL (0) | 2024.09.06 |
[내일배움캠프] 2024. 09. 05. TIL (0) | 2024.09.05 |
[내일배움캠프] 2024. 09. 04. TIL (4) | 2024.09.04 |
댓글