(상속과 밀접한 관계가 있음)
부모 클래스가 갖고 있는 기능을 받아와서 자식 클래스의 기능을 필요에 따라서 변경하는 것
super.
class Calculator{
int left, right;
int third=0
public void setOprands(int left, int right){
System.out.println("setOprands(int left, int right)");
this.left=left;
this.right=right;
}
public void setOprands(int left, int right,int third){
this.setOprands(left,right); // 2) 중복되는 항목을 방지
System.out.println("setOprands(int left, int right,int third)");
//this.left=left; // 1) 위의 메소드와 중복 제거
//this.right=right; // 1) 위의 메소드와 중복 제거
this.third=third
}
public void sum(){
System.out.println(this.left+this.right+this.third);
}
}
public class overloading{
public static void main(String[] args){
Calculator c1 = new Calculator();
c1.setOprands(10,20); // 인자의 갯수를 자바가 파악함
c1.sum(); // 30
c1.setOprands(10,20,30);
c1.sum(); // 60
}
}
setOprands
는 메소드명이 두개로 겹치지만 매개변수의 갯수나 타입이 다르기 때문에 error가 발생하지 않는데 이 상황을 overloading
이라고 함
try-catch-finally 와 같이 나옴
try
: 예외의 발생이 예상되는 로직
catch
: 예외가 발생했을 때 실행되는 로직
finally
: 예외와 상관 없이 꾸준히 실행되는 로직
TDD
: 애자일한 개발 방식으로 테스트케이스를 먼저 작성하고 그에 맞는 코드를 작성하는 방법
command
shift
T
: 테스트 하고 싶은 클래스에 누르게 되면 testcase 구조가 자동으로 생성됨
테스트 진행 시에
어떤 상황이 주어져서 ( given
)
무언가를 실행했을때 (when
)
그럼 결과가 나와야함( then
)