Programing/JAVA

클래스 CLASS_Part4

쿠크 2022. 3. 2. 17:01

final 변경 불가

  • final 클래스 : 클래서 상속 불가 (상속 파트에서 확인)
  • final 메소드 : 메소드 오버라이딩 불가 (상속 파트에서 확인)
  • final 변수 : 상수, 생성자에 한번 초기화 가능

final 변수

package chapter07;

public class FinalEx {

    public static void main(String[] args) {

        Final f = new Final();
        //f.number = 200; // 에러
        System.out.println("PI = " + Final.PI);
        System.out.println(f.number);
    }

}

class Final {
    final static double PI = 3.14;
    final int number; // 상수

    Final() {
        number = 100; // 생성자에서 1번 초기화 가능
    }


}

USER 로그인 예제

  • UserVO : 유저 정보 저장 클래스
  • LoginService : 유저 입력 정보와 비교해서 로그인 처리 서비스 클래스
  • UserLoginTest : 프로그램 실행(테스트)

UserVO

package user;

// User 정보
public class UserVO {
    private String id;
    private String pw;
    private String name;

    public UserVO() {
    }

    public UserVO(String id, String pw, String name) {
        this.id = id;
        this.pw = pw;
        this.name = name;
    }


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPw() {
        return pw;
    }

    public void setPw(String pw) {
        this.pw = pw;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


}

LoginService

package user;

// 로그인 서비스
public class LoginService {

    String id = "hong";
    String pw = "0000";


    boolean isLogin(String id, String pw, String name) {
        boolean rs = false;

        if(id.equals(this.id)) {
            if(pw.equals(this.pw)) {
                System.out.println("Welcom !! " + name );
                rs = true;
            }
        }

        return rs;
    }

    boolean isLogin(UserVO user) {
        boolean rs = false;

        String id = user.getId();
        String pw = user.getPw();
        String name = user.getName();


        if(id.equals(this.id)) {
            if(pw.equals(this.pw)) {
                System.out.println("Welcom !! " + name );
                rs = true;
            }
        }

        return rs;
    }

}

UserLoginTest

package user;

import java.util.Scanner;

public class UserLoginTest {

    public static void main(String[] args) {

        boolean rs = false;

        Scanner scan = new Scanner(System.in);

        System.out.println("id >>> ");
        String id = scan.next();

        System.out.println("pw >>> ");
        String pw = scan.next();


        System.out.println("name >>> ");
        String name = scan.next();

        LoginService ls = new LoginService();

        // 각각의 인자 사용
        rs = ls.isLogin(id, pw, name);

        if(rs) {
            System.out.println("login success");
        }else {
            System.out.println("login fail");
        }

        // VO 사용
        UserVO user = new UserVO(id, pw, name);
        rs = ls.isLogin(user);

        if(rs) {
            System.out.println("login success");
        }else {
            System.out.println("login fail");
        }

    }

}