이차원 배열
int[][] s = new int[3][5]
⇒ 3행 5열의 int타입 s라는 2차원배열을 만듦
•
index는 0부터 시작 s[0][0], s[0][1], s[0][2] ….
•
arr.length ⇒ 2차원 배열에서는 행의 개수를 의미
•
arr[num].length ⇒ num행의 열의 개수를 의미
2차원 배열이 데이터에 들어갈 때
생성자란 무엇인가?
생성자 : 객체가 생성될 때에 필드에 초기 값을 제공하고 초기화 절차를 실행하는 메소드
객체를 초기화 시키기 위해 사용하는 것
•
리턴 타입 없음
•
클래스 이름과 함수 이름이 같음
기본생성자
•
매개 변수가 없는 생성자
•
개발자가 생성자를 하나도 정의하지 않으면 자바 컴파일러는 기본 생성자를 자동으로 만듦
•
생성자가 하나라도 있으면 생성되지 않음.
this. 에 대한 이해
•
1.this는 현재 객체 자신을 가리키는 참조 변수이다.
•
흔히 생성자에서 매개 변수이름과 필드 이름이 동일한 경우에 혼동을 막기 위해 사용
this()
•
다른 생성자를 의미
this() 다른 생성자를 호출할 때 사용됨
패키지와 클래스패스
패키지란?
•
패키지는 비슷한 성격의 자바 클래스들을 모아 놓은 자바의 디렉토리
•
패키지를 사용하면 비슷한 성격의 클래스들끼리 묶을 수 있어 클래스의 분류가 용이
•
내장 패키지 : 자바에서 기본적으로 제공하는 패키지
•
사용자 정의 패키지 : 사용자가 정의하는 패키지
패키지 그림
패키지의 응용
•
공간에서의 충돌
→ 한 패키지 안 에 동일 이름의 클래스 파일을 같은 위치에 둘 수 없다.
•
접근 방법에서의 충돌
→인스턴스 생성 방법에서 두 클래스에 차이가 없다
패키지 선언
•
모두 소문자로 구성
•
인터넷 도메인 이름의 역순으로 구성
•
이름 끝에 클래스를 정의한 주체 또는 팀의 이름 추가
Ex) edu.lion.prj.팀명
가상 기계가 클래스를 찾는 3가지의 방법
1.
첫 번째로 가상 기계는 현재 디렉터리부터 찾는다.
2.
일반적으로 환경변수인 CLASSPATH에 설정된 디렉터리에서 찾는다.
CLASSPATH 변수를 설정하려면 명령 프롬프트에서 다음과 같은 명령어를 내린다.
•
C:\>set CLASSPATH=C:\classes;C:\lib;
3.
가상 머신을 실행할 때 옵션 -classpath를 사용할 수 있다. 즉 가상 머신을 실행할때, 클래스 경로를 알려주는 것이다. 이클립스는 내부적으로 이 방법을 사용.
•
C:\>java-classpatch C:\classes;C:\l;ib;.Main
접근제한자와 정보은닉
접근제한자에 대한 이해
•
클래스 정의 대상 : public, default
public
default
•
인스턴스 변수와 메소드 대상 : public, protected, default, private
public
protected
default
private
•
public과 default의 차이는?
◦
같은 패키지 내의 클래스에 대해서는
접근제한자를 이용한 정보은닉
•
클래스 내부에서 사용할 변수나 메서드를 private 로 선언해서 외부에서
접근하지 못하게 하는 것을 객체지향에서 ‘정보은닉’이라고 함.
예시
실무에서는
게터와 세터
•
getter
◦
return type은 참조할 맴버변수의 자료형과 일치해야 함
◦
이름 앞에 get 을 붙이고 뒤에 리턴할 맴버변수의 이름 혹은 해당 변수를 직관적으로 표현하는 단어가 와야함.
•
“\t” 사용 할 경우 Tab이 들어감
Scanner 입력 받을 때 next의 의미
return 개념 공부하기
과제 1.