알고리즘 마지막날!!💪💪
자바 문법 강의 듣기, 알고리즘 4주차 마무리
- 메소드 선언 시 지켜야 하는 기본 약속
1. 동사로 시작해야 한다
2. camel case로 작성(첫 단어는 소문자, 그 이후는 대문자로 시작, 중간에 띄어쓰기 밑 특수문자 x)
반환타입 메소드이름 (타입 변수명,타입 변수명, ...){
수행되어야 할 코드
}
int add(int x, int y) {
int result = x + y;
return result;
}
상속의 특징
- 부모 클래스에서 정의된 필드와 메소드를 물려 받음
- 새로운 필드와 메소드를 추가할 수 있음
- 부모 클래스에서 물려받은 메소드를 수정할 수 있음
오버로딩 vs 오버라이딩
오버로딩이란 한 클래스 내에 이름은 동일하지만 매개변수의 개수 혹은 타입이 다른 메소드를 여러개 정의하는 것 => 기존에 없는 새로운 메소드 정의
오버라이딩이란 부모 클래스의 메소드와 이름, 매개변수, 반환타입이 같고 상속받는 메소드를 그대로 사용하거나 필요에 의해 변경해서 쓰는 경우 => 상속받은 메소드의 내용을 변경
💡 Java 에서 정확한 클래스의 이름은, package 이름까지 포함한 것이 자바 시스템이 인식하는 클래스의 이름입니다. pkg.ModifierTest 클래스와 pkg2.ModifierTest 는 소스코드에서 보이는 클래스의 이름은 같지만 실제로는 다른 클래스 입니다. 다른 클래스를 import 할 때, package 이름까지 정확히 확인해야하는 이유가 여기에 있습니다. 앞의 예제에서 Scanner를 alt+Enter를 통해서 import 할때 IDE가 추천해주는 선택지가 많았는데, 자세히 확인해보면 모두 패키지 이름은 다른 것을 보실 수 있습니다
- 객체지향 프로그래밍이란 객체들 간의 상호작용을 코드로 표현하는 것입니다.
- 이때 객체들간의 관계에 따라서 접근 할 수 있는 것과 아닌 것, 권한을 구분할 필요가 생깁니다.
- 클래스 내부에 선언된 데이터의 부적절한 사용으로부터 보호하기 위해서!
- 이런 것을 캡슐화(encapsulation)라고 합니다.
- 접근 제어자는 캡슐화가 가능할 수 있도록 돕는 도구입니다.
인터페이스 추상클래스 다중 상속 가능 다중 상속 불가능 implements를 이용해 구현 extends를 이용하여 구현 메소드 시그니처에 대한 선언만 가능 추상메소드에 대한 구현 가능 구현하려는 객체의 동작 명세 클래스를 상속받아 이용 및 확장
서버리스 강의 듣고 복습 MW 참여