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)클래스란 상태와 동작 (기능, 메소드)를 명시하며 가지고 있습니다.
- 사용시 인스턴스화를 하여 사용해야합니다.
// public : 접근제어자
// Computer : 클래스명 자바 명명 규칙에 의해 Computer로 명명
public class Computer {
String name; // 이름
String color; // 색깔
int year; // 제조년도
}
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 () 도 이름만 다를뿐 같은 성격의 코드입니다.
- 클래스는 기능을 조작하는 메소드를 함께 묶어서 캡슐화를 하며, 이를 인스턴스화 하여 여러곳에서 "재사용" 할수있습니다.
- 이를 통해 코드의 재사용과 유지보수성을 높일수 있습니다
- 메소드를 사용함으로써 코드 중복을 피하고, 일관된 기능을 수행하도록 하는 등의 역할을 합니다
- 반복적으로 수행되는 일련의 작업을 하나의 논리적인 블록으로 묶어서 코드의 가독성과 재사용성을 높이는 기능을 합니다.
❗ 또한 효율적인 디버깅과 유지보수성을 높일수있습니다.
메소드나 생성자에 "전달"되는 값들을 의미합니다.
// 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
- 기능을 개발후 동작이 의도했던 대로 동작하는지 확인하기 위해 할수 있는 방법은 ?
👀 테스트 코드를 작성하는 것입니다.
그러면 테스트 코드를 왜 작성해야 되는것인가?
- 코드의 정확성을 검증하기 위해서입니다. 테스트 코드를 작성하면 코드가 의도한 대로 동작하는지를 검증할 수 있습니다.
- 코드 수정이 필요한 상황에서 유연하고 안정적인 대응을 할 수 있게해준다.
- ❗❗❗❗ 테스트 코드를 작성하지 않으면, 코드를 변경할때마다 수동으로 테스트를 수행해야 합니다.
클래스를 달리하는 이유를 크게 보면은 SOLID의 'S' 단일 책임 원칙을 지키기 위함입니다.
🚫
또한, 계좌와 결제 기능은 서로 다른 영역에 속해 있습니다.
따라서 이 두가지 기능을 분리하여 독립적으로 개발하는것이 바람직합니다.