반응형

/*

 * 1. 자바에서 Encapsulation이란 데이터와 코드를 단일 유닛에 포장하는 과정을 의미한다.

 * 애초에 캡슐 자체 다양한 종류의 약을 위까지 안적하게 이동시키기 위해 만들어졌기때문에 일맥상통한다고 볼 수 있다.

 * 우리는 완벽히 캡슐화된 클래스를 private class를 통해 만들 수 있다.

 * 그리고는 Getter&Setter를 통해 안전히 접근할 수 있다.

 * 

 * 2. 캡슐화의 장점.

 * Getter&Setter를 통해서 클래스를 Read-Only 혹은 Write-Only로 만들 수 있다.

 * 일단 게터와 세터를 통하면 근본 데이터의 오염을 방지할 수 있으며 다형성의 원리에 매우 부합하여

 * 나중에 유지보수성성이 높아진다는 의미이니 생활화하도록하고, 나중에는 프레임워크로 대체할테니

 * 개념과 실습으로 마무리 지어놓자

 */


package com.encapsulation;


public class Student {

private String name;


public String getName() {

return name;

}


public void setName(String name){  

this.name=name ;

}

}




package com.encapsulation;


class Test {

public static void main(String[] args) {

Student s = new Student();

s.setName("vijay");

System.out.println(s.getName());

}

}


// vj jay라는 결과값이 나온다. 직접 Student의 필드값에 접근하지않고 setter를 통하여

// 필드의 값을 초기화한 후 getter를 통해 가져왔다. 이 과정은 모두 간접적으로 이루어졌다는걸 명시하자.

// 딱히 더 설명할게 없지만 객체지향프로그맹에서 핵심 이론을 맡고있다.

// 자세한 내용은 추후에 구글링으로 더 덧붙이도록 하겠다.


반응형
by 발전소장 에르 :) 2017. 9. 15. 14:27