Java private

춤인형의 개발일지·2024년 12월 10일

java

목록 보기
12/14

24/12/09(월)

private

외부에서 사용하지 못하게 막는 코드

  • 이상한 값이 기억되는 것을 막을 수 있는 코드이다.
    public은 여기저기서 사용할 수 있다면, private는 그 코드에서만 사용할 수 있다.

👀예제

//클래스
public class Book {
    private String title;
    private int price;
}

//main
Book book1 = new Book();
book1.title = "오브젝트"; // ERROR!
book1.price = 34200; // ERROR!

이렇게 private를 쓴 코드에는 직접적으로 변수를 입력할 수 없다.
⚡따라서 생성자를 사용해서 적용시켜야한다.

public class Book {
    private String title;
    private int price;
    
    public void changeTitle(String newTitle) {
        // 변경할 값을 검사하는 if 문
        if (/* 이상한 값이면 */) {
            // 에러 발생시키기
        }
        
        title = newTitle; // 값 변경
    }
}

🧐이렇게만 주어질 때, 읽기수정이 다 안된다. 그럼 난 읽고 싶을 때 어떻게 할까?

Getter

// 클래스 안에서 우클릭 > Generate (생성) > Getter > 모든 필드 선택
public int getNumber() {
    return number;
}

public int getPosition() {
    return position;
}

getter함수를 넣어주게 되면, 읽을 수 있는 함수가 된다.

❗왜 private를 사용해야하는가?

private를 붙이면 .을 찍었을 때 안보인다.
public은 오브젝트의 데이터가 안전하지 않다. 메서드를 통하지 않고 값을 기억시킬 수 있다. -> 이게 안전하지 않음
private은 메서드를 활용해서 무자비한 데이터를 제거할 수 있다.(조건을 넣어 파악할 수 있음)


😐 느낀점

이제는 클래스와 그의 속한 모든 것을 배우는 것이다. 
새로운 것들이 와르르 쏟아질 때 계속해서 복습하고, 익히는 연습이 중요하다!!
왜 사용하는지, 사용할 때 편리한 것이 무엇인지 파악하는 것도 중요하다!

0개의 댓글