3. 인스턴스 생성 및 사용 1. 클래스 정의: 클래스는 인스턴스 생성 형판이다. 2. 클래스 기반 인스턴스 생성 클래스명 참조변수 = new 클래스명(); Dog puppy = new Dog(); 3. 인스턴스에 접근 인스턴스 변수 puppy.food = 100; 4. 인스턴스간 대화: 다른 인스턴스에게 일을 시킨다. 주인이 강아지에게 밥을 20을 먹게 한다. 수신 인스턴스 이름. 실행을 원하는 수신 인스턴스메소드명 ( 매개변수 ); class master { puppy.eat (20); } 3/12
4.
5. 연습문제 아래 자바 파일의 결과값은? class XCopy { public static void main(String[] args) { int orig = 42; XCopy x=new XCopy(); int y = x.go(orig); System.out.println( orig+ " " + y ); } int go(int arg) { arg = arg*2; return arg; } } 5/12
6.
7. 패키지(Package) 클래스는 이름이 중복되면 안되지만 패키지를 다르게 설정할 경우 사용이 가능하다. - 동일한 이름의 클래스 파일은 각각의 디렉토리에 저장한다. - 디렉토리만 다르고, 패키지로 구분해주지 않으면 JAVA가 이해할 수 없다. 패키지를 어떻게 구성하느냐에 따라 클래스 패스 설정이 달라질 수 있다. - 패키지명을 찾을 수 있는 디렉토리를 환경변수에 입력해두어야 한다. 패키지 선언 : 패키지로 묶을 파일의 첫줄에 입력 package orange.area; 7/12
8.
9. Private동일 클래스에서만 접근가능 함부로 값을 바꾸거나 편법을 쓸 수 없게 한다. class Dog { private int puppy;} * 인스턴스 변수? 지역 변수? 8/12
11. 접근제어 지시자- class default 동일패키지안에서만인스턴스생성가능 public 다른패키지에서도인스턴스생성가능 - 하나의소스파일에클래스하나만 public 일것 - public class 이름과소스파일이름이일치할것 * 데이터 성격이 강한 클래스를 privait으로 선언할 경우 생길 수 있는 문제는? * public class가 프로그램 기능에서 어떤 역할을 하나? 10/12
13. 캡슐화 데이터와 연산을 한꺼번에 묶는 것을 의미한다. 예를들어, CONTAC600 여러가지 메소드가 반드시 순서에 맞게 차례대로 실행되어야 한다면 캡슐화를 통해 한 번의 실행으로 전체 과정이 실행되도록 만들 수 있다. 캡슐화할 때는 인스턴스 변수가 외부에 보이지 않게 정보를 은닉해 감싸는편이 좋으므로, 정보은닉을 포함하는 개념으로 흔히 쓰인다. 12/12