[국비지원과정 Day 5] Java
📕ch08 생성자
1. 생성자
- 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드
- 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야한다.
*cf. 생성자도 오버로딩이 가능하기 때문에 하나의 클래스에 여러 개의 생성자가 존재할 수 있다. - 특징
(1) 생성자의 이름(메서드명)은 클래스명과 같다.
(2) 리턴타입이 없다.(키워드 void를 사용하지 않음) - 기본 생성자: 매개변수가 없는 생성자.
클래스에 생성자가 하나도 정의되어 있지 않은 경우, 컴파일러가 기본생성자를 자동적으로 추가한다.클래스이름() {} //기본생성자 //기본 생성자가 컴파일러에 의해 자동추가되는 경우는 클래스에 정의 된 생성자가 하나도 없을 때 뿐이다!
2. this & this()
- 참조변수 this: 객체 자신을 가리키는 참조변수. 객체의 시작 주소가 저장되어 있다.
멤버변수(인스턴스변수)와 지역변수의 이름이 같을 경우, 각각을 구별하기 위해 사용. - 생성자 this(): 한 생성자 내에서 다른 생성자를 호출할 때, 클래스이름 대신 this를 사용한다.
this() 코드는 생성자에서 반드시 __첫번째 라인__에 작성해야한다.
📕ch09 상속
1. 상속
- 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. 코드의 재사용성을 높이고 중복을 제거하여 프로그램의 생산성, 유지보수에 기여한다.
- 상속관계에 있는 하위클래스는 상위클래스의 모든 멤버(변수, 메서드)를 상속받는다. 단, 생성자 & private 제외
- Java에서는 다중상속이 금지되어 있다.
2. Object class: 모든 클래스 상속계층도의 최상위에 있는 클래스
3. 오버라이딩(overriding)
- 상위클래스로부터 상속받은 메서드의 내용을 하위클래스에 맞게 적절히 변경하는 것.
- 메서드의 선언부(header)는 동일하며, 내용만 변경하여 사용한다.
4. super & super()
- 참조변수 super: 상위클래스의 멤버를 참조하기위해 사용되는 변수. 상속받은 멤버와 인스턴스 자신의 멤버 이름이 같을 때 super를 붙여 구별한다.
- 생성자 super(): 상위클래스의 생성자를 호출하기 위해 사용하는 명령어.
📕ch10 static & final
1. static
- static
(사전적 의미) 고정적인, 변화가 없는
(Java 프로그래밍에서) 클래스의, 공통적인 - static 멤버변수: 모든 인스턴스에 공통적으로 사용되는 클래스 변수로, 클래스가 메모리에 로드될 떄 생성된다. (인스턴스를 생성하지 않고도 사용가능)
- static 메서드: 인스턴스를 생성하지 않고도 호출이 가능한 메서드. static 메서드 내에서는 인스턴스멤버를 직접 사용할 수 없다.
2. final
- final
(사전적 의미) 마지막의, 변경될 수 없는
(Java 프로그래밍에서) 값을 변경할 수 없는 - final 변수: 값을 변경할 수 없는 상수. 변수명은 일반적으로 대문자로 표기한다.
- final 메서드: 오버라이딩을 통해 재정의될 수 없다.
- final 클래스: 확장될 수 없는 클래스. 즉, 상속을 통해 자신의 클래스 내에 하위 클래스를 정의할 수 없다.
✏️ Quiz (Q1) 구구단 테이블 활용: this 연습예제

Leave a comment