티스토리 뷰
->클래스와 객체
클래스가 무엇이냐
인스턴스와 객체
데이터 저장소 : 변수 (클래스에 만드는 변수 == 인스턴스 변수)
데이터 처리하기 : 메서드
▷ 데이터를 집합으로 구성하면 편리하다 --> 배열을 통해서 공부 (for문 일괄처리가능)
=>동일한 데이터만 집합으로 묶을수있다
▷ 클래스의 필요성 : 동일하지 않은 데이터를 묶기 위해서는 클래스가 필요하다
10,20,30 --> int [] ar = {10, 20, 30} ;
"1", "안녕", "30" --> String [] ar = {"1", "안녕", "30"};
▷ 30, "안녕", true , 1.1 --> ??? [] ar ={0, "안녕", true , 1.1};
int String boolean double
-->데이터가 다양하게 섞여 있을 경우에는 class를 사용
클래스를 하나 만들자
클래스 == 타입(사용자 정의 타입) <--> int float double ....
user define 기본형
▷ 내가 타입(정1, 문자열1, 불린1, 더블 1)
▷ 내가 만든 타입 이름
17byte 변수
"이름" 객체( 참조 변수 )
▷클래스의 설계
class simpleData{ // 클래스 타입, 레퍼런스 타입, 사용자 정의 타입, 클래스의 설계
int a;
String greeting;
boolean isPass;
double b;
(방)
}
public class My{
public static void main(String [] args){
// 10,20,30 --> 메모리에 올려놓은 후 데이터를 넣어야지
simpleData myData =new SimpleData();
(타입) //메서드를 호출하는 것
객체 인스턴스(실체)화 하다
(참조변수)
--------------------------------------
인스턴스를 만들고 객체를 하나 붙여주자
그 객체를 통해서 각 방을 호출할 수 있다
집 ==> myData(객체)
내가 가지고있는 방을 부를수 있는 객체
설계도 ==> simpleData
---------------------------------------
▷myData.변수(방)을 불러 낼수 있다
myData.a =70;
myData.greeting = "안녕": ==>myData 집에 있다
myData.isPass = false:
myData.b = 1.1;
syso(myData.a);
syso(myData.greeting);
syso(myData.isPass);
syso(myData.b);
/*
Scanner sc = new Scanner();
School sc = new School();
int sc = 10;(10을 집어넣을려면 int 라는 변수로 만들어야 함)
*/
}
}
▷ 같은 package 에 class 한번 저장하면 계속 사용 가능
#실습1.
1.) 클래스의 설계 : 타입을 만들어 보자
2.) 클래스의 인스턴스, 객체에 담아 보자
3.) 객체를 통해 각 변수를 불러보자 그리고 값을 대입시키자
4.) 대입된 값을 출력해 보자
※ 메서드 정의(define) : 동사
※ class이름은 : 주어(명사)
package classex;
class Book{
String title;
String writer;
int page;
int price;
void printInfo(){ //메서드 : 반복적으로 진행되는 일들
System.out.println("===책 정보===");
System.out.println("책 이름(작가) :"+this.title+"작가 :"+this.writer);
System.out.println("책 가격(페이지) :"+this.price+"원"+this.page+"쪽");
} //this : 객체가 달라지는 것을 대응하기위해 객체 변수를 만듬
this는 메서드를 만들때부터 내장되어있어 생략가능
}
public class ClassTest {
public static void main(String[] args) {
Book sam=new Book(); // 객체 = 인스턴스 생성
sam.title="삼국지";
sam.writer="나관중";
sam.page=500;
sam.price=15000;
Book herry=new Book(); // 인스턴스 생성
herry.title="해리포터";
herry.writer="조앤 롤링";
herry.page=300;
herry.price=21000;
sam.printInfo();
herry.printInfo();
}
}
'Programing > Java' 카테고리의 다른 글
Java1 - 16. private (0) | 2017.04.28 |
---|---|
Java1 - 15. Method 만들기 (0) | 2017.04.27 |
Java 이용 - ATM기 작성 (0) | 2017.04.26 |
Java1 - 12. while문 (0) | 2017.04.26 |
Java1 - 11. For 문 (0) | 2017.04.26 |