///////
Search

20220923

작성 날짜
2022/09/23 07:04
작성자
박태근

이차원 배열

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.