# 접근 제한자가 없다면 정답 예시에서는 Hacker라는 class를 갖고 객체를 생성하지 않고, 그러니까 디폴트 생성자도 호출하지 않고 바로 클래스 메소드를 사용한 것 같아서요! #### CODE <a class='btn btn-default' href='/codes/49496'>Link</a> ``` public class Main { public static void main (String[] args) { // 1. 계좌 생성 Account myAccount = new Account(1000000); System.out.println(myAccount.toString()); // 2. 계좌 해킹 Hacker h = new Hacker(); h.malcious(myAccount); //Hacker.malcious(myAccount); // 3. 결과 출력 System.out.println(myAccount.toString()); } } class Account { // 필드 int balance; // 생성자 public Account(int balance) { this.balance = balance; } // 메소드 public String toString() { return String.format("Account { balance: %d }", balance); } } class Hacker { // 클래스 메소드 - 계좌의 잔액을 0원으로 변경 public void malcious(Account account) { //public static void malcious(Account account) { /* 1. 파라미터 계좌의 잔액을 0으로 변경하세요. */ account.balance = 0; } } ``` #### INPUT ``` ``` #### OUPUT ``` Account { balance: 1000000 } Account { balance: 0 } ```
네, 맞습니다. 클래스 메소드는 객체 생성없이 사용할 수 있는 휴대성 메소드입니다