내일배움캠프 24일차 개발일지 + Java 기초문법
2021. 10. 23. 02:59ㆍ스파르타코딩클럽
# TIL
intellij 사용중
자바 코드에서 window의 경우 alt + insert키를 누르면 생성자 등등 여러가지를 자동으로 만들 수 있다.
생성자는 클래스의 이름과 동일하여야 한다
자바 상속
형식 상속은 오직 하나의 클래스만 받을 수 있다.
class Animal{} class Dog extends Animal{} class Cat extends Animal{}
오버로딩
한 클래스 내에 동일한 이름의 메소드를 여러개 정의하는 것
조건 메소드
이름이 동일 매개변수의 개수 혹은 타입이 달라야 함
int add(int x, int y, int z) { int result = x + y + z; return result; } long add(int a, int b, long c) { long result = a + b + c; return result; } int add(int a, int b) { int result = a + b; return result; }
오버라이딩
부모 클래스로부터 상속받은 메소드의 내용을 변경
class Animal { String name; String color; public void cry() { System.out.println(name + " is crying."); } } class Dog extends Animal { Dog(String name) { this.name = name; } public void cry() { System.out.println(name + " is barking!"); } } public class Main { public static void main(String[] args) { Animal dog = new Dog("코코"); dog.cry(); } }
출력값은 is crying 이 아닌 코코 is barking! 이 출력된다.
접근제어
private은 클래스내에서만
public 어디서나
protected는 상속받은 자식클래스를 통하여
인터페이스는 객체의 특정 행동의 특징을 정의하는 간단한 문법
인터페이스 형식
interface 인터페이스명{
public abstract void 추상메서드명();
}
인터페이스 vs 추상클래스
- 인터페이스
1. 구현하려는 객체의 동작의 명세
2. 다중 상속 가능
3. implements를 이용하여 구현
4. 메소드 시그니처(이름, 파라미터, 리턴 타입)에 대한 선언만 가능
- 추상클래스
1. 클래스를 상속받아 이용 및 확장을 위함
2. 다중 상속 불가능 , 단일 상속
3. extends를 이용하여 구현
4. 추상메소드에 대한 구현 가능
'스파르타코딩클럽' 카테고리의 다른 글
내일배움캠프 26일차 서버리스 (0) | 2021.10.28 |
---|---|
내일배움캠프 25일차 개발일지 (0) | 2021.10.26 |
내일배움캠프 23일차 개발일지 + Java 기초 문법 (0) | 2021.10.22 |
다시 돌아온 내일배움캠프 22일차 개발일지 (0) | 2021.10.21 |
내일배움캠프 21일차 개발일지 (0) | 2021.10.19 |