TIL8 [생활코딩]

givemacdonalds·2023년 12월 5일
0

TIL

목록 보기
9/16

[생활코딩]

overriding

(상속과 밀접한 관계가 있음)

부모 클래스가 갖고 있는 기능을 받아와서 자식 클래스의 기능을 필요에 따라서 변경하는 것

  • 메소드의 이름
  • 메소드 매개변수의 숫자와 데이터 타입 그리고 순서
  • 메소드의 리턴 타입

super.

overloading

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이라고 함

규칙

  • 메소드의 이름, 형식이 같지만 리턴 값이 다르면 error

finally

try-catch-finally 와 같이 나옴
try : 예외의 발생이 예상되는 로직
catch : 예외가 발생했을 때 실행되는 로직
finally : 예외와 상관 없이 꾸준히 실행되는 로직


[spring 입문]

TDD: 애자일한 개발 방식으로 테스트케이스를 먼저 작성하고 그에 맞는 코드를 작성하는 방법

회원 서비스 개발

회원 서비스 개발 테스트

command shift T : 테스트 하고 싶은 클래스에 누르게 되면 testcase 구조가 자동으로 생성됨

테스트 진행 시에
어떤 상황이 주어져서 ( given )
무언가를 실행했을때 (when )
그럼 결과가 나와야함( then )

0개의 댓글