카테고리 없음

사전과제 6일차 : 객체 접근제어 / VO클래스 설계

fepick포트폴리오 2023. 10. 1. 21:47

강의요약

3-1 접근제한자 Access Modifier 4가지
public : 모든 패키지에서 접근가능 -> 클래스와 멤버메서드
private : 자기 자신만 접근가능 -> 멤버 변수
protected : 상속관계. 하위클래스에서 상위클래스에 접근
default : 동일한 패키지에서 접근 가능

3-2 패키지의 목적 :
1) 기능이 비슷한 클래스끼리 모아놓기 위한, 폴더 같은 것 2) 패키지 외부에서의 접근을 제한 (보안)
자바의 library(API)는 인텔리제이 내 External Library 에서 확인할 수 있고, 파일 탐색기로의 접근은 lib폴더에 가보면 jar파일로 묶여 있는 것과, src.zip을 확인해 보면 볼 수 있음
java.lang 패키지엔 우리가 자주 쓰는 클래스들이 많이 포함되어 있고, 디폴트로 포함됨.

여담) 강사님은 반디집 대신 알집을 쓰신다. 반디집이 무조건 더 좋다고 생각했는데 이유가 있을까

3-3 :클래스를 접근하는 이름 이해
패키지를 포함하는 이름과 패키지를 포함하지 않는 이름이 있음. 클래스네임 / 클래스 풀 네임
클래스에 접근하려면 클래스가 어디에 위치해 있고 접근 제어가 어떤지 알아야 함.
클래스 풀 네임을 이용해 접근할 경우 -> import가 필요없음
클래스 풀 네임을 이용하지 않고 접근할 경우 -> import 해야함

3-4 : 앞에서 다룬 내용 정리


4-1 : 정보은닉을 잘해라. 멤버변수(상태정보)를 private로 해 캡슐화하고 접근을 막아라. this로는 접근 가능 

4-2 : 정보은닉된 상태정보에 접근하기 위해 setter,getter 메서드를 만들자

4-3 : 생성자는 객체를 생성하고 초기화한다. 개발자가 원하는 방법으로 초기화하기 위해 매개변수를 이용한 <생성자 메서드 오버로딩>을 한다.

ㅇㅇ

4-4 : get멤버변수 이걸 여러번 하면서 출력하기 귀찮으니까, toString 메서드를 만들어서 편하게 출력하자
<int> + "\t" + <String> + "\n"; 이런식으로 갖다붙여도 알아서 String 만들어 준다. 편함

4-5 : 앞 강의 내용 요약
1) 상태정보는 정보은닉하기
2) 디폴트 생성자를 만들고, 생성자 메서드 오버로딩하기
3) setter, getter, toString 메서드 만들기


5-1 배열과 클래스의 관계
배열은 동일한 데이터 / 클래스는 이질적인 데이터 ~~의 덩어리
자바에서 배열의 생성 방법 : int[] arr=new int[6];