정보은닉

· JAVA
정보 은닉을 위해 객체의 멤버를 private로 접근을 제한하고 getter/setter를 이용하여 멤버에 접근하라고 배웠고, 많은 글에서 이렇게 사용하라 말한다. 사실 아 ’그렇구나, 외부에서 필드에 바로 접근을 해버리면 좋지 않구나‘ 하고 넘어갔었다. 이펙티브 자바라는 책을 읽으며 이에 대해 한 번 더 생각해보게 되었다. 접근자 메서드를 왜 사용해야할까? 그저 정보은닉을 지키기 위해? 나는 개발자의 의도 내에서만 필드에 접근할 수 있도록 하기 위해라고 생각한다. 외부에 필드의 직접적인 접근을 제한하고 개발자의 의도 내에서만 접근하면 어떤 점이 좋을까? 멤버의 타입을 바꿀 수 있다. 잉? 그냥 바꾸면 되는 거 아니여? 라는 생각은 아주 큰일 날 생각이다. 우리는 객체를 사용하는 사용자들을 생각해야한다...
· JAVA
정보은닉과 캡슐화는 객체지향 프로그래밍에서 중요한 개념 중 하나이다. 이 두 개념은 객체의 응집도와 독립성을 높임으로써 객체의 모듈화를 지향한다. 객체의 모듈화가 잘 이루어져있을 경우 모듈 단위의 재사용이 매우 용이하다. 자바에서는 정보은닉과 캡슐화를 위해 다음과 같은 방법을 사용한다. 캡슐화 (Encapsulation) 캡슐화는 클래스의 구현 세부 정보를 외부에서 숨기고, 오직 public 인터페이스만 노출하는 것을 말한다. 이렇게 함으로써, 클래스의 내부 구현을 변경하더라도 외부 코드에 영향을 미치지 않도록 할 수 있다. public class BankAccount { private int balance; public void setBalance(int balance) { if (balance >= ..
hyunsb
'정보은닉' 태그의 글 목록