자바 getter setter 예제

그러나 여전히, 그것은 YAGNI의 큰 추종자라고 주장하는 사람들과 논쟁을 엽니 다 (당신은 그것을 필요로하지 않을 거야). 필드에 대한 이러한 유효성 검사 제약 조건이 없을 때 getter /setter 작성을 귀찮게하는 이유는 무엇입니까? 나는 단순히 공개로 노출 할 수 있습니다. 천천히, 나는 우리가 게터 / 세터를 사용하는 이유와 그들이 중요한 이유를 깨달았다. 이 기사에서는 그 실현을 공유합니다. 필드를 공개하는 것과 getter/setter를 통해 필드를 노출하는 것의 주요 차이점은 속성에 대한 통제권을 보유하는 것입니다. 필드를 공개하는 경우 호출자에게 직접 액세스 권한을 제공한다는 의미입니다. 그런 다음 호출자는 고의로 또는 무의식적으로 필드로 무엇이든 할 수 있습니다. 예를 들어 필드를 null 값으로 설정할 수 있으며 다른 메서드에서 해당 필드를 사용하는 경우 null 포인터 예외를 사용하여 해당 메서드를 비할 수 있습니다. Java에서 뮤타터 메서드는 Java 클래스 내의 변수에 대한 변경 내용을 제어하는 데 사용되는 메서드입니다. 그들은 또한 널리 세터 방법으로 알려져있다. 종종 setter에는 개인 멤버 변수의 값을 반환하는 getter(접근자라고도 함)가 함께 제공됩니다. Lombok 라이브러리의 마법을 진정으로 감상하려면 터미널 내에서 „javac” 명령을 사용하여 학생 클래스를 컴파일해야 합니다. 명령을 성공적으로 실행하려면 Lombok Jar 파일과 Student.java 파일이 명령을 실행하는 위치와 동일한 디렉토리 내에 있는지 확인해야 합니다.

Student 클래스가 컴파일된 후에는 „javap” 명령을 사용하여 Student Java 클래스 파일을 분해해야 합니다. 롬복 프로젝트는 개발자가 일반 오래된 자바 객체 (POJ)에 대한 „getter”및 „setter”방법과 같은 상용구 코드를 생성하는 데 도움이되는 자바 라이브러리입니다. Lombok 라이브러리를 IDE 및 빌드 경로에 추가하기만 하면 Lombok 라이브러리는 주석에 따라 Java 바이트코드를 .class 파일로 자동 생성합니다. Java에서의 캡슐화는 데이터(변수)와 코드(메서드)에 대해 단일 단위로 함께 래핑하는 메커니즘입니다. 캡슐화에서 클래스의 변수는 다른 클래스에서 숨겨지며 현재 클래스의 메서드를 통해서만 액세스할 수 있습니다. 따라서 데이터 숨기기라고도 합니다. 따라서 게터/세터는 퓨즈 또는 회로 차단기로 작동하며, 여기서 전류는 퓨즈를 통과해야 합니다. 문제가 발생하면 퓨즈가 주 회로에서 분리되므로 회로가 안전합니다.

개념은 여기에서 동일합니다. 문제가 발생하면 setter는 값을 클래스 멤버 필드에 전달하지 않습니다. Getter 및 Setter 메서드의 사용과 올바르게 사용할 시기에 대한 많은 의견이 있지만 이 게시물에서는 설명하지 않습니다. Java 클래스의 디자인에 OO 원칙을 올바르게 적용했으며 getter 및 setter 메서드가 필요하다고 가정해 보겠습니다. 공용 액세스 수정자를 통해 클래스의 한 필드에 모든 패키지에 액세스할 수 있으며 getter/setter와 함께 실제로 동일한 작업을 수행하고 있으며 getter/setter 메서드가 공용인 동안 필드를 비공개로 설정하여 모든 패키지에서 액세스할 수 있습니다. 이전 장에서 개인 변수는 동일한 클래스 내에서만 액세스할 수 있다는 것을 배웠습니다(외부 클래스는 액세스 권한이 없음). 그러나 공용 getter 및 setter 메서드를 제공 하는 경우 액세스할 수 있습니다.

자바 getter setter 예제