///////
Search

접근제한자, 은닉화, 캡슐화,

작성 날짜
2022/09/23 07:43
송민지
송민지
과제 1
정보은닉에 대하여 설명하고, 예제를 들어 정보은닉에 대하여 설명하시오.
1. 정보은닉에 대하여 설명하고, 예제를 들어 정보은닉에 대하여 설명하시오. 2. 접근제한자 4개에 대하여 설명하시오. 3. classpath 에 대하여 설명하시오. 4. this 와 this 생성자는 무엇이며, 용도는? 5. 생성자및 디폴트 생성자에 대하여 설명하시오.
1.
접근제한자 4개에 대하여 설명하시오.
2.
classpath 에 대하여 설명하시오.
3.
this 와 this 생성자는 무엇이며, 용도는?
4.
생성자및 디폴트 생성자에 대하여 설명하시오.
5.
접근제한자 4개에 대하여 설명하시오.
6.
classpath 에 대하여 설명하시오.
7.
this 와 this 생성자는 무엇이며, 용도는?
8.
생성자및 디폴트 생성자에 대하여 설명하시오.
1.
접근제한자 4개에 대하여 설명하시오.
2.
classpath 에 대하여 설명하시오.
3.
this 와 this 생성자는 무엇이며, 용도는?
4.
생성자및 디폴트 생성자에 대하여 설명하시오.
1.
정보 은닉(information hiding) - 외부에서 내부 클래스 정보에 접근할 수 없도록 하는 것
— 예제
class square { private int cm = 0; public void set_cm(int r){ if(r<0){ cm=0; return; }cm=r; } public int get_cm(){ return cm; } public int get_square(){ return cm*cm; } } class priv{ public static void main(String args[]){ square s = new square(); s.set_cm(-4); System.out.print(s.cm); // 호출 x } }
Java
복사
외부 클래스에 있는 square 클래스의 s 객체는 square 클래스 변수에 접근할 수 없다. 따라서 System.out.print(s.cm); 에서 오류가 나게 된다.
2.
접근제한자 4가지
1) public - 접근 제한 x
2) private - 클래스 내부에서 만
3) protected - 클래스 상속 시 private변수 등에 접근할 때 public하게 o
4) default - 같은 패키지 내에서 참조
3.
classpath - JVM이 class에 접근할 수 있는 경로
/export/home/username/java/classes와 같은 디렉토리
myclasses.zip과 같은 zip 파일
myclasses.jar와 같은 jar(자바 아카이브) 파일
4.
this
자기자신을 가리킴.
5.
생성자 및 디폴트 생성자
과제 2
다음 멤버를 가지고 직사각형을 표현하는 Rectangle 클래스를 작성하라. - int 타입의 x, y, width, height 필드: 사각형을 구성하는 점과 크기 정보 - x, y, width, height 값을 매개변수로 받아 필드를 초기화하는 생성자 - int square() : 사각형 넓이 리턴 - void show() : 사각형의 좌표와 넓이를 화면에 출력 - boolean contatins(Rectangle r) : 매개변수로 받은 r이 현 사각형 안에 있으면 true 리턴 - main() 메소드의 코드와 실행 결과는 다음과 같다 public static void main(String[] args) { Rectangle r = new Rectangle(2, 2, 8, 7); Rectangle s = new Rectangle(5, 5, 6, 6); Rectangle t = new Rectangle(1, 1, 10, 10);
r.show(); System.out.println("s의 면적은 "+s.square()); if(t.contains(r)) System.out.println("t는 r을 포함합니다."); if(t.contains(s)) System.out.println("t는 s를 포함합니다."); } (2,2)에서 크기가 8x7인 사각형 s의 면적은 36 t는 r을 포함합니다.