캡슐화 (2) 썸네일형 리스트형 [객체 지향] 캡슐화 연습 연습1 아래 코드는 id와 pwd값을 통해 계정의 유효성을 판단하는 코드이다. public AuthResult authenticate(String id, String pwd) { Member member = findOne(id); if(member == null) return AuthResult.NO_MATCH; if(member.getVefiricationEmailStatus() != 2) { return AuthResult.NO_EMAIL_VERIFIED; } if(passwordEncoder.isPasswordValid(member.getPassword(), pwd, member.getId())) { return AuthResult.SUCCESS; } return AuthResult.NO_MATCH.. [객체 지향] 캡슐화(Encapsulation) 캡슐화는 다음과 같다. 데이터와 관련 기능(메서드)을 하나로 묶는다. 객체가 어떻게 기능을 구현했는가를 외부에 감춘다.(구현 상세 내용 감춤) 이를 통해 외부 영향 없이 객체 내부 구현 변경 가능 캡슐화를 하지 않으면 코드 작성 이후 추가적인 요구사항에 의한 데이터 구조/사용 변경에 유연하게 대처하기 어렵다. 예를 들어 날짜 표현 방식을 Date에서 LocalDateTime으로 변경하려면 기존 Date 클래스 메소드를 사용하는 모든 코드를 LocalDateTime 메소드 형식으로 교체해야 하기 때문에(연쇄적으로 변경이 전파된다) 프로젝트 규모가 클수록 부담스러운 일이 된다. 이런 문제 때문에 객체 지향에서는 데이터 접근을 객체에 속한 메서드를 통해서만 할 수 있도록 한다. 캡슐화를 통해 기능을 제공하고 .. 이전 1 다음