"네. 지난 시간에 클래스에 대해 다뤘습니다. 오늘은 객체를 만드는 방법을 알려드리려고 합니다. 매우 쉽습니다. 키워드 new를 쓰고 객체를 만들고자 하는 클래스의 이름을 적으면 됩니다."

Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

"나는 이미 이것을 알고 있다."

"알아요. 계속 들어요."

"개체를 생성할 때 괄호 안에 다양한 인수를 전달할 수 있습니다. 자세한 내용은 오늘 나중에 설명하겠습니다. 지금은 Cat 클래스를 살펴보겠습니다."

자바 코드 설명
class Cat {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
이름 은 인스턴스 변수입니다. 여기에는 공개 액세스 수정자가 있으므로 프로젝트의 모든 위치에서 볼 수 있습니다.

getName 메소드 는 getter입니다. 인스턴스 변수 name 의 값을 반환합니다 . 메서드의 이름은 'get'이라는 단어와 첫 문자가 대문자인 변수 이름에서 파생되었습니다.

setName 메소드 는 setter입니다. 인스턴스 변수 명 에 새로운 값을 할당할 때 사용합니다. 메서드의 이름은 'set'이라는 단어와 첫 문자가 대문자인 변수 이름에서 파생되었습니다. 이 방법에서 매개변수는 인스턴스 변수와동일한 이름을 가지며,이것 으로 .

" 게터와 세터 는 무엇입니까 ?"

"Java에서는 다른 클래스에서 변수를 숨기는 것이 일반적입니다. 일반적으로 클래스 내부에 선언된 변수에는 private 한정자가 있습니다. "

"다른 클래스가 이러한 변수의 값을 변경할 수 있도록 각 변수에 대해 getset 메서드 쌍이 생성됩니다. get 메서드 는 변수의 현재 값을 반환합니다. set 메서드 는 변수의 새 값을 설정합니다. "

"그리고 요점은 무엇입니까?"

"인스턴스 변수의 값을 다른 사람이 변경하지 못하게 하려면 set 메소드를 생성하지 않거나 비공개로 만들 수 있습니다 . 메소드에 추가 데이터 검사를 추가할 수도 있습니다. 전달된 새 값이 유효하지 않습니다. 아무 것도 변경되지 않습니다."

"알겠어요."

"클래스는 많은 변수를 가질 수 있기 때문에 get 및 set 메서드의 이름에는 일반적으로 처리하는 변수의 이름이 포함됩니다."

" 변수가 'name'인 경우 메소드는 setNamegetName 등으로 불립니다 . "

"그렇구나. 꽤 합리적인 것 같군."

"다음은 새로 생성된 객체로 작업하는 더 많은 예입니다."

단계 암호 설명
1
new Cat();
Cat개체 만들기
2
Cat catOscar = new Cat();
Cat객체를 변수에 저장catOscar
catOscar.name = "Oscar";
catOscar.age = 6;
catOscar.weight = 4;
개체에 이름, 나이, 체중 등 의 데이터를 채웁니다.
4
catOscar.sleep();
객체에 대한 메서드 호출
5
catOscar.fight(catSmudge);
개체가 상호 작용하도록 합니다.

Codegym University 과정의 일부로 멘토와 함께하는 강의 스니펫. 전체 과정에 등록하십시오.