1. 변수가 많으면 코드 가 복잡 그래서 배열(array) 기능을 이용 *배열은 같은 형의 값을 동시에 여러 개 기억하기
배열은 1)배열을 다루는 변수를 준비(배열 선언)
2)값을 저장할 상자를 준비한다(배열 요소 생성) 의 작업이 필요 <------- 1,2단계를 한번해 할려면 int[] test = new int [5]; <----또는 배열의 초기화 를 사용하여 바로 주입 *예 --int[] test={10,80,55,50,75};
에) int[] test;
test= new int[5]; 이렇게 배열준비
test[0]~test[4] 로 5개 배열
2. 다차원의 배열 선언 도 마찬가지 int[][] test =new int[2][5]; 또는 int[][] test={{80,60,22,50,75},{90,55,68,72,58}}; 이며 test[첨자].length 로 갯수로 배열 값 알 수 있음
3. 클래스란 예를드러 자동차 처럼 사물의 상태 및 특성, 그와 관련된 기능을정리하여 프로그램으로 표현
** 클래스의 '상태 및 특성'을 표현하기 위한 수단을 필드 라고 함
** 클래스의 기능을 메소드
** 필드와 메소드 모두 클래스의 멤버라고 함
class Car{
...
} <---car 클래스.
class Sample1{
....Car car1;
car1=new Car(); ..... 객체 생성
}
%Sample1.java를 컴파일 하면 2개의 파일이 생성 (Car,Sample1)
---->클래스를 사용하는 순서
1)클래스 선언하기
2)클래스로 객체 생성하기
**** 클래스와 객체에 바탕을 둔 프로그램 개발 방법을 객체 지향(objext oriented)라고 함
4.메소드 호출하기
예 class Car{ ......
void show(){
sysout("ㅎㅎ");}}
일때 Car클래스 객체를 생성해야 비로소 실행 할 수 있음
5.this는 자기자신
예 위에 4번에서
class Car{ ......
void show(){
sysout("show 메메소드 실행");
}
void showCar(){
sysout("showcar 메메소드 실행");
this.show();
}
}
이후
class sample1{
실행 메인 메소드......car 객채 생성 후
car1.showCar(); <---- 실행시 sysout("show 메메소드 실행"); ,sysout("showcar 메메소드 실행");
}
6.private은 클래스 외부에서 마음대로 접근할 수없는 멤버를 만드는 기능
public은 클래스 외부에서 마음대로 접근할 수 있는 멤버를 반드는 기능
예 카 클래스의 필드를 private로 하고 메소드를 public void setNum(int n, doublg){ 조건메소드등등 } 이렇게 하면
외부에서 car객체를 생성후 car.num=1234; 처럼 할 수 없음
car.setNum(123,50)<처럼 진행을 하고 올바른 값이 맞으면 저장 아니면 못하게 만들 수 있음
이렇게 클래스에 필드와 메소드를 한 곳에 모은 다음 보호하고싶은 멤버에 private을 붙여 접근을제한 하는 기능을 캡슐화 라고 함
7. 같은 이름의 메소드를 2개이상 정의할수 있는 기능 을 오버라이딩 이라고 함
예 setCar(int n)
setCar(double g)
setCar(int n, double g); 이렇게 3개의 메소드를 여러게 정의 할 수 있음 그러나 인수<--- 주의 해야함