멋사 Backend 15일차 🦁

신재원·2023년 5월 8일

🤡 Java

🍦 .repeat() 메소드 란?

  • 자바 11에서 추가된 문자열 반복 메소드 입니다.
    • for 문을 사용하지않고 반복할수있습니다.
      아래는 그 예시 입니다.
public class Main {
    public static void main(String[] args) {
        String hello = "Hello";
        
        for (int i = 0; i < 3; i++) {
            System.out.print(hello); // HelloHelloHello
        }
        
        System.out.println();
        
		// .repeat(3)임으로, 3번 반복 HelloHelloHello
        System.out.println(hello.repeat(3)); 
    }
}
  • for 문이랑 동작을 똑같이 하는것을 볼수있습니다.
    (문자열 타입만 사용할수있습니다, int 등 사용 X)

🍞 Class (클래스) 와 Method (메소드)

🎯 클래스란 ?

클래스란 상태와 동작 (기능, 메소드)를 명시하며 가지고 있습니다.

  • 사용시 인스턴스화를 하여 사용해야합니다.
// public : 접근제어자
// Computer : 클래스명 자바 명명 규칙에 의해 Computer로 명명 
public class Computer {
    String name; // 이름
    String color; // 색깔
    int year; // 제조년도
}
  • Computer라는 클래스를 작성하고 이름, 색깔, 제조년도의 변수들을 선언해주었습니다.

🎯 메소드란 ?

Computer 가 있으면 부팅을 키거나, 종료하거나 등등의 기능들이있습니다.

  • 이러한 기능들을 메소드라고 합니다.
    ❗❗ 메소드는 반드시 클래스 안에서 작성해야됩니다.
public class Computer {
    String name; // 이름
    String color; // 색깔
    int year; // 제조년도

    void turnOn() {
        System.out.println("전원이 켜졌습니다");
    }

    void turnOff() {
        System.out.println("전원이 꺼졌습니다");
    }
}

void turnOn () : void란 반환값이 없다는 뜻이며, turnOn은 메소드의 이름이 됩니다. 마지막으로 ()은 파라미터 값을 받는곳입니다.

  • void turnOff () 도 이름만 다를뿐 같은 성격의 코드입니다.

🐱‍🚀 클래스와 메소드를 사용하는 이유 ?

클래스 사용 이유

  • 클래스는 기능을 조작하는 메소드를 함께 묶어서 캡슐화를 하며, 이를 인스턴스화 하여 여러곳에서 "재사용" 할수있습니다.
  • 이를 통해 코드의 재사용과 유지보수성을 높일수 있습니다

메소드 사용 이유

  • 메소드를 사용함으로써 코드 중복을 피하고, 일관된 기능을 수행하도록 하는 등의 역할을 합니다
  • 반복적으로 수행되는 일련의 작업을 하나의 논리적인 블록으로 묶어서 코드의 가독성과 재사용성을 높이는 기능을 합니다.
    ❗ 또한 효율적인 디버깅과 유지보수성을 높일수있습니다.

👀 매개변수(파라미터, Parameter)

파라미터란 ?

메소드나 생성자에 "전달"되는 값들을 의미합니다.

// int : return (반환) 값이 int 타입이어야된다.
public int add(int num1,int num2){
        return num1+num2;
}
  • public int add(int num1,int num2) : add 메소드를 정의 하면서, num1과 num2 이라는 파라미터를 지정했습니다.

✔ 아래의 코드와 같이 메소드를 호출하여 값을 전달하여 사용할수있습니다.

int result = add(5,6) // 11

🍘 번외

⭕ 테스트 코드를 작성해야 되는 이유 ?

  • 기능을 개발후 동작이 의도했던 대로 동작하는지 확인하기 위해 할수 있는 방법은 ?
    👀 테스트 코드를 작성하는 것입니다.

그러면 테스트 코드를 왜 작성해야 되는것인가?

  • 코드의 정확성을 검증하기 위해서입니다. 테스트 코드를 작성하면 코드가 의도한 대로 동작하는지를 검증할 수 있습니다.
  • 코드 수정이 필요한 상황에서 유연하고 안정적인 대응을 할 수 있게해준다.
  • ❗❗❗❗ 테스트 코드를 작성하지 않으면, 코드를 변경할때마다 수동으로 테스트를 수행해야 합니다.

🙋‍♂️ Spring 계좌 (Account)와 결제 (Payment)의 클래스를 달리하는 이유 ?

클래스를 달리하는 이유를 크게 보면은 SOLID의 'S' 단일 책임 원칙을 지키기 위함입니다.

  • 단일 책임 원칙이란, 하나의 클래스는 하나의 책임을 가져야 된다는것입니다.
  • 즉 클래스가 담당하는 기능이 많을수록, 유지보수성이 떨어지고, 확장성이 떨어지게됩니다.

🚫
또한, 계좌와 결제 기능은 서로 다른 영역에 속해 있습니다.
따라서 이 두가지 기능을 분리하여 독립적으로 개발하는것이 바람직합니다.

0개의 댓글