흔히 생성자, 메서드 ,변수 선언등을 할때 사용하는것에는 public과 private가 있다.
이를 접근제한자라고 하는데 말 그대로 해당 제한자가 붙은 위치에 접근을 허락하기도 하고 접근을 막으려고 숨기기도 하는 역할을 한다.
이런식으로 변수선언을 할때 앞에 넣어 줄 수 있는데, 위의 그림에서의 class Car1안에서만 해당 변수들을 사용할 수 있따는 말이다. 이러한 filed들을 private로 감춰 놓는 것을 캡슐화라고 한다.
캡슐화는 객체지향의 언어의 특징이라고 할 수 있는데 목적은 정보의 보호에 있다. 왜냐하면 모든 정보가 많이 노출이 되면 이 코드를 보고, 또 재사용 해야하는 개발자나, 실제 사용자가 혼란을 겪을 수 있기 때문이다. 가령 한번만 쓰고 말 코드들은 private처리를 해서 다른 곳에서의 사용이 불가능 하게 하여 쓸데 없이 무분별하게 반복적으로 사용하는 것을 막을 수 있다.
만약 변수를 private로 설정 한 뒤 다른 곳에서 사용하고 싶다면 public 메소드를 이용해 해당 변수를 사용할수 있게 한다.
위와 print()라는 메서드를 만들어 private변수들을 콘솔창에 출력되게 한 뒤 메인 메서드에 해당 print메서드를 불러와 사용하면 private변수 일지라도 다른곳에 사용할 수 있다.
또는, getter setter를 만들어 private변수를 읽고 사용할 수 있다.(getter만 있으면 읽기전용이 된다.)
해당 변수들을 생성자에 원하는 형태로 집어넣어 호출 할 수 있다. 이렇게 private를 활용하면 무분별한 사용을 막으면서도 필요할 때 언제든지 해당 변수를 사용할 수 있는 장점이 있다.
'개발 > JAVA' 카테고리의 다른 글
[JAVA] 자바 업캐스팅, 다운캐스팅 (0) | 2021.02.22 |
---|---|
[JAVA] 자바 static의 사용 (0) | 2021.02.20 |
[JAVA]자바 - 배열을 이용하여 아주 간단한 영화 예매하기 만들기 (1) | 2021.02.04 |
[JAVA] 자바 - for문을 이용해서 별로 여러가지 삼각형 출력하기 (2) | 2021.02.01 |
상속과 다형성 (0) | 2021.01.05 |