자바 스터디(6기) 2

680
-1

Published on

난 정말 자바를 공부한 적이 없다구요(윤성우)

chapter 07 클래스와 인스턴스
chapter 08 클래스패스와 패키지
chapter 09 클래스 변수와 클래스 메소드

microsoftOffice live에서 작성..

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
680
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

자바 스터디(6기) 2

  1. 1. JAVA STUDYCHAPTER 07 클래스와인스턴스CHAPTER 08 클래스패스와패키지CHAPTER 09 클래스변수와클래스메소드<br />2011.09.25<br />이진아<br />
  2. 2. 클래스(class) 와인스턴스(instance)<br /><ul><li>인스턴스? 객체?</li></ul>객체: 실세계에 존재하는 하나의 단위에 대한 소프트웨어적 표현<br />인스턴스: 데이터와 기능을 정의한 클래스를 틀로 삼아 생성됨<br /><ul><li>클래스에서 정의되는 객체의 요소</li></ul>    과일장수의 경우,             객체<br />    과일을 판다                    기능(메소드)<br />    사과 10개, 오렌지 0개      데이터(변수 정의)<br />    수입 10000원<br />2/12<br />
  3. 3. 인스턴스 생성 및 사용 <br />1. 클래스 정의: 클래스는 인스턴스 생성 형판이다.<br />2. 클래스 기반 인스턴스 생성<br />   클래스명 참조변수 = new 클래스명();<br />    Dog       puppy  = new  Dog();<br />3. 인스턴스에 접근<br />   인스턴스 변수  puppy.food = 100;<br />4. 인스턴스간 대화: 다른 인스턴스에게 일을 시킨다.<br />   주인이 강아지에게 밥을 20을 먹게 한다.<br />   수신 인스턴스 이름. 실행을 원하는 수신 인스턴스메소드명 ( 매개변수 );<br />   class master { puppy.eat (20); }<br />3/12<br />
  4. 4. 생성자(constructor)<br /><ul><li>생성자</li></ul>인스턴스 생성시 딱 한 번 호출되는 메소드, 값 초기화<br />생성자가 있어야 인스턴스가 생성된다<br />생산자를 따로 작성하지 않은 경우 default 생성자가 생성됨<br /><ul><li>생성자의 조건</li></ul>- 클래스명과 동일한 메소드<br />- 반환형이 선언되지 않으면서 반환하지 않는 메소드<br /><ul><li>final</li></ul>변수를 상수화 시킨다. 딱 한번의 초기화 가능<br />생성자와 같이 사용해 프로그램의 안정성을 높일 수 있다.<br />4/12<br />
  5. 5. 연습문제 아래 자바 파일의 결과값은?<br />class XCopy <br />{<br /> public static void main(String[] args)<br /> {<br />  int orig = 42;<br />  XCopy x=new XCopy();<br />  int y = x.go(orig);<br />  System.out.println( orig+ " " + y ); <br /> }<br /> int go(int arg)<br /> {<br />  arg = arg*2;<br />  return arg;<br /> }<br />}<br />5/12<br />
  6. 6. 클래스 패스(CLAss path)<br /><ul><li>클래스패스 : 클래스가존재하는경로</li></ul>클래스 패스가 입력되지 않으면<br />실행되는 디렉토리 이외에 위치한 클래스 파일을 찾을 수 없다.<br /><ul><li>환경변수설정</li></ul>   set classpath=.;C:Javastudy;<br />6/12<br />
  7. 7. 패키지(Package)<br />클래스는 이름이 중복되면 안되지만<br />패키지를 다르게 설정할 경우 사용이 가능하다.<br />- 동일한 이름의 클래스 파일은 각각의 디렉토리에 저장한다.<br />- 디렉토리만 다르고, 패키지로 구분해주지 않으면 JAVA가 이해할 수 없다.<br />패키지를 어떻게 구성하느냐에 따라 클래스 패스 설정이 달라질 수 있다.<br />- 패키지명을 찾을 수 있는 디렉토리를 환경변수에 입력해두어야 한다.<br />패키지 선언 : 패키지로 묶을 파일의 첫줄에 입력<br />       package orange.area;<br />7/12<br />
  8. 8. 정보은닉<br /><ul><li>정보은닉 : 인스턴스 변수에 private 선언
  9. 9. Private</li></ul>동일 클래스에서만 접근가능<br />함부로 값을 바꾸거나 편법을 쓸 수 없게 한다.<br />    class Dog<br />    { private int puppy;}<br />* 인스턴스 변수? 지역 변수?<br />8/12<br />
  10. 10. 접근제어 지시자<br />
  11. 11. 접근제어 지시자- class<br />default<br />동일패키지안에서만인스턴스생성가능<br />public<br />다른패키지에서도인스턴스생성가능<br />- 하나의소스파일에클래스하나만 public 일것<br />- public class 이름과소스파일이름이일치할것<br />* 데이터 성격이 강한 클래스를 privait으로 선언할 경우 생길 수 있는 문제는?<br />* public class가 프로그램 기능에서 어떤 역할을 하나?<br />10/12<br />
  12. 12. 접근제어 지시자- 생성자<br />private<br />필요할때도있지만, 동일클래스에서만인스턴스호출이가능하므로잘쓰이지않는다.<br />public<br />거의대부분의생성자가 public으로생성되며, 클레스의정보접근권한과상관없이 public으로생성하기도한다.<br />디폴트로생성되는생성자는 class의정보접근권한에맞추어생성된다.<br />11/12<br />
  13. 13. 캡슐화<br />데이터와 연산을 한꺼번에 묶는 것을 의미한다.<br />예를들어, CONTAC600<br />여러가지 메소드가 반드시 순서에 맞게 차례대로 실행되어야 한다면 캡슐화를 통해 한 번의 실행으로 전체 과정이 실행되도록 만들 수 있다.<br />캡슐화할 때는 인스턴스 변수가 외부에 보이지 않게 정보를 은닉해 감싸는편이 좋으므로, 정보은닉을 포함하는 개념으로 흔히 쓰인다.<br />12/12<br />
  14. 14. 감사합니다<br />

×