먹었으면 뇌를 쓰자

자바에서 getter and setter 쓰는 이유 본문

Framework/JPA

자바에서 getter and setter 쓰는 이유

뇌이비 2022. 11. 28. 19:21

객체 지향 프로그래밍(OOP)의 가장 큰 특징은 '객체 무결성'을 지키는 것이다.

 

간단하게 말하면 교실에서 싸움이 일어났을 때, 

 

"우리 반 빼고 나가!!!!"

 

하는 것이다. 

 

그래서 변수를 선언할 때도 private을 지정해줘서 

 

다른 클래스에서의 접근을 막는다. 

 

하지만 살다보면 다른 클래스에서 우리 클래스 친구를 부를 때가 있다. 

 

setter는 다른 클래스에서 우리 클래스 친구에 접근할 수 있게 한다.

 

getter는 다른 클래스에서 우리 클래스 친구를 직접 데려갈 수 있도록 한다. 

 

 

 

//Person.class와 Address.class가 @OneToMany로 매핑된 상황.
//Person.class는 (mapped by "person"), addresses 인스턴스.  
//각 클래스 변수들에 getter and setter 설정함.


[Main.class]

Address address1 = new Address();
address1.setStreet("a street"); // setter - Address.class 접근 
address1.setCity("b city");

Person person1 = new Person();
person1.setName("brain"); // setter - Person.class 접근
person1.setAge(20);

person.getAddresses.add(address1); // getter - 인스턴스로 Address.class 읽기 

address.setPerson(person1); // setter - Person.class 접근(양방향 연관관계)

em.persist(person1); // One 쪽인 person1 객체 실행
Comments