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

Contenu connexe

Tendances

파이썬 namespace Binding 이해하기
파이썬 namespace Binding 이해하기 파이썬 namespace Binding 이해하기
파이썬 namespace Binding 이해하기 Yong Joon Moon
 
python data model 이해하기
python data model 이해하기python data model 이해하기
python data model 이해하기Yong Joon Moon
 
파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310Yong Joon Moon
 
파이썬 Descriptor이해하기 20160403
파이썬 Descriptor이해하기 20160403파이썬 Descriptor이해하기 20160403
파이썬 Descriptor이해하기 20160403Yong Joon Moon
 
파이썬 Xml 이해하기
파이썬 Xml 이해하기파이썬 Xml 이해하기
파이썬 Xml 이해하기Yong Joon Moon
 
파이썬 xml 이해하기
파이썬 xml 이해하기파이썬 xml 이해하기
파이썬 xml 이해하기Yong Joon Moon
 
파이썬 데이터 검색
파이썬 데이터 검색파이썬 데이터 검색
파이썬 데이터 검색Yong Joon Moon
 
파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법Yong Joon Moon
 
파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304Yong Joon Moon
 
이것이 자바다 Chap. 6 클래스(CLASS)(KOR)
이것이 자바다 Chap. 6 클래스(CLASS)(KOR)이것이 자바다 Chap. 6 클래스(CLASS)(KOR)
이것이 자바다 Chap. 6 클래스(CLASS)(KOR)MIN SEOK KOO
 
파이썬 파일처리 이해하기
파이썬 파일처리 이해하기파이썬 파일처리 이해하기
파이썬 파일처리 이해하기Yong Joon Moon
 
Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Park Jonggun
 
Java 자료구조 비교 (Java1.6 기준)
Java 자료구조 비교 (Java1.6 기준)Java 자료구조 비교 (Java1.6 기준)
Java 자료구조 비교 (Java1.6 기준)혜웅 박
 

Tendances (19)

파이썬 namespace Binding 이해하기
파이썬 namespace Binding 이해하기 파이썬 namespace Binding 이해하기
파이썬 namespace Binding 이해하기
 
python data model 이해하기
python data model 이해하기python data model 이해하기
python data model 이해하기
 
파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310
 
파이썬 Descriptor이해하기 20160403
파이썬 Descriptor이해하기 20160403파이썬 Descriptor이해하기 20160403
파이썬 Descriptor이해하기 20160403
 
파이썬 Xml 이해하기
파이썬 Xml 이해하기파이썬 Xml 이해하기
파이썬 Xml 이해하기
 
자바스크립트 클래스의 프로토타입(prototype of class)
자바스크립트 클래스의  프로토타입(prototype of class)자바스크립트 클래스의  프로토타입(prototype of class)
자바스크립트 클래스의 프로토타입(prototype of class)
 
파이썬 xml 이해하기
파이썬 xml 이해하기파이썬 xml 이해하기
파이썬 xml 이해하기
 
파이썬 데이터 검색
파이썬 데이터 검색파이썬 데이터 검색
파이썬 데이터 검색
 
파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법
 
파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304
 
Python class
Python classPython class
Python class
 
이것이 자바다 Chap. 6 클래스(CLASS)(KOR)
이것이 자바다 Chap. 6 클래스(CLASS)(KOR)이것이 자바다 Chap. 6 클래스(CLASS)(KOR)
이것이 자바다 Chap. 6 클래스(CLASS)(KOR)
 
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
 
Java extends
Java extendsJava extends
Java extends
 
Java class
Java classJava class
Java class
 
파이썬 파일처리 이해하기
파이썬 파일처리 이해하기파이썬 파일처리 이해하기
파이썬 파일처리 이해하기
 
(C#,닷넷구조체강좌)구조체 개요 및 간단한 예제_닷넷,C#, WPF, 자마린실무교육
(C#,닷넷구조체강좌)구조체 개요 및 간단한 예제_닷넷,C#, WPF, 자마린실무교육(C#,닷넷구조체강좌)구조체 개요 및 간단한 예제_닷넷,C#, WPF, 자마린실무교육
(C#,닷넷구조체강좌)구조체 개요 및 간단한 예제_닷넷,C#, WPF, 자마린실무교육
 
Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초
 
Java 자료구조 비교 (Java1.6 기준)
Java 자료구조 비교 (Java1.6 기준)Java 자료구조 비교 (Java1.6 기준)
Java 자료구조 비교 (Java1.6 기준)
 

En vedette

자바스터디(6기) 3
자바스터디(6기) 3자바스터디(6기) 3
자바스터디(6기) 3Jina Lee
 
Kishurim IESF General Presentation
Kishurim IESF General PresentationKishurim IESF General Presentation
Kishurim IESF General PresentationKishurimHR
 
자바 스터디(6기) 1
자바 스터디(6기) 1자바 스터디(6기) 1
자바 스터디(6기) 1Jina Lee
 
자바스터디(6기) 4
자바스터디(6기) 4자바스터디(6기) 4
자바스터디(6기) 4Jina Lee
 

En vedette (6)

SEJARAH
SEJARAHSEJARAH
SEJARAH
 
자바스터디(6기) 3
자바스터디(6기) 3자바스터디(6기) 3
자바스터디(6기) 3
 
ORM as a business driver
ORM as a business driverORM as a business driver
ORM as a business driver
 
Kishurim IESF General Presentation
Kishurim IESF General PresentationKishurim IESF General Presentation
Kishurim IESF General Presentation
 
자바 스터디(6기) 1
자바 스터디(6기) 1자바 스터디(6기) 1
자바 스터디(6기) 1
 
자바스터디(6기) 4
자바스터디(6기) 4자바스터디(6기) 4
자바스터디(6기) 4
 

Similaire à 자바 스터디(6기) 2

스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understandingYong Joon Moon
 
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)MIN SEOK KOO
 
The c++ programming language 10장 클래스 발표
The c++ programming language 10장 클래스 발표The c++ programming language 10장 클래스 발표
The c++ programming language 10장 클래스 발표재정 이
 
Perl Script Document
Perl Script DocumentPerl Script Document
Perl Script Document오석 한
 
자바스터디 2
자바스터디 2자바스터디 2
자바스터디 2jangpd007
 
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼Sanghoon Yoon
 
02. class in typescript
02. class in typescript02. class in typescript
02. class in typescriptHan JaeYeab
 

Similaire à 자바 스터디(6기) 2 (10)

스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding
 
Java_05 class
Java_05 classJava_05 class
Java_05 class
 
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
 
Java(1/4)
Java(1/4)Java(1/4)
Java(1/4)
 
The c++ programming language 10장 클래스 발표
The c++ programming language 10장 클래스 발표The c++ programming language 10장 클래스 발표
The c++ programming language 10장 클래스 발표
 
Perl Script Document
Perl Script DocumentPerl Script Document
Perl Script Document
 
자바스터디 2
자바스터디 2자바스터디 2
자바스터디 2
 
Hadoop ch5
Hadoop ch5Hadoop ch5
Hadoop ch5
 
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
 
02. class in typescript
02. class in typescript02. class in typescript
02. class in typescript
 

자바 스터디(6기) 2

  • 1. JAVA STUDYCHAPTER 07 클래스와인스턴스CHAPTER 08 클래스패스와패키지CHAPTER 09 클래스변수와클래스메소드 2011.09.25 이진아
  • 2.
  • 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
  • 12. 접근제어 지시자- 생성자 private 필요할때도있지만, 동일클래스에서만인스턴스호출이가능하므로잘쓰이지않는다. public 거의대부분의생성자가 public으로생성되며, 클레스의정보접근권한과상관없이 public으로생성하기도한다. 디폴트로생성되는생성자는 class의정보접근권한에맞추어생성된다. 11/12
  • 13. 캡슐화 데이터와 연산을 한꺼번에 묶는 것을 의미한다. 예를들어, CONTAC600 여러가지 메소드가 반드시 순서에 맞게 차례대로 실행되어야 한다면 캡슐화를 통해 한 번의 실행으로 전체 과정이 실행되도록 만들 수 있다. 캡슐화할 때는 인스턴스 변수가 외부에 보이지 않게 정보를 은닉해 감싸는편이 좋으므로, 정보은닉을 포함하는 개념으로 흔히 쓰인다. 12/12