코드 한 줄씩 실행시켜보기(Debug 이용)
- 브레이크포인트 걸어놓고 Debug 실행
- F6로 한 줄씩 실행
- F5로 자세한 내용 확인
생성자
class 전사{
String 이름;
int 나이;
전사(){
이름 = "카니";
나이 = 20;
}
}
new 전사(); 가 실행되자마자 생성자를 통해 초기값이 세팅된다.
생성자를 만들지 않아도 자동으로 기본 생성자가 생성 된다.
생성자 연쇄 호출
public class Main {
public static void main(String[] args) {
new 청둥오리();
}
}
class 동물 {
동물(){
System.out.println("동물이 생성되었습니다.");
}
}
class 오리 extends 동물 {
오리(){
System.out.println("오리가 생성되었습니다.");
}
}
class 청둥오리 extends 오리 {
청둥오리(){
System.out.println("청둥오리가 생성되었습니다.");
}
}
// (Object 클래스의 생성자)
// 동물이 생성되었습니다.
// 오리가 생성되었습니다.
// 청둥오리가 생성되었습니다.
오버로딩
class 전사{
String 이름;
전사(){
이름 = "카니";
}
전사(String 이름){
this.이름 = 이름;
}
}
한 클래스 안에서 매개변수를 다르게 하여 같은 이름의 메서드를 생성하는 것이 오버로딩
구성
public class Main {
public static void main(String[] args) {
오리 a오리 = new 오리();
a오리.날다();
}
}
class 오리{
날개 a날개;
오리(){
a날개 = new 날개();
}
void 날다(){
a날개.작동();
}
}
class 날개{
void 작동(){
System.out.println("날개로 날아갑니다.");
}
}
a오리가 a날개를 이용하는 식으로 코드를 구성한다.
구성을 활용하여 복잡하게 상속을 하는 것은 지양하도록 한다.
인터페이스
public class Main {
public static void main(String[] args) {
사람 a사람 = new 의사();
변호사 a변호사 = (변호사)a사람;
}
}
class 사람 {}
class 의사 extends 사람 implements 변호사 {}
interface 변호사 {}
접근제한자
- private
- protected
- (default)
- public
Getter & Setter
class 사람 {
String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
}
예외처리
- throws
- try / catch
Exception 을 상속 받아서 직접 예외 클래스를 만들 수 있다.
'프로젝트 & TIL > 일별 공부 기록 (백엔드 스쿨)' 카테고리의 다른 글
7일차 - 깃 병합과 자바(컬렉션 프레임워크(리스트, 맵)) (0) | 2023.02.28 |
---|---|
6일차 - 깃 브랜치와 자바(String, 객체 메서드, static, 제네릭, 키보드 입력받기) (0) | 2023.02.27 |
4일차 - TDD와 자바의 기본(2) (0) | 2023.02.23 |
3일차 - 자바의 기본 (0) | 2023.02.22 |
2일차 - 인텔리제이 세팅 & 깃 세팅 및 사용 (0) | 2023.02.22 |