참조변수 super

 규칙

1. 객체 자신을 가리키는 참조변수, 인스턴스 메서드(생성자) 내에서만 존재. (this참조변와 비슷 : lv와 iv 구별시 사용)

2. 조상의 멤버자신의 멤버와 구별할 때 사용.

 

예시)

부모멤버변수와, 자식멤버변수 이름이 같을때 ( ※ 이름이 겹치지 않을때는 super.x와 this.x 둘다 사용가능 )


super( ) 조상의 생성자

규칙

1. 조상의 생성자를 호출할 때 사용  ( 상속시, 생성자와 초기화블럭은 상속 x )

2. 조상의 멤버는 조상의 생성자를 호출해서 초기화 한다.

3. 모든생성자는 첫 줄에 반드시 생성자를 호출해야한다. ★★★

    ( 그렇지 않으면 컴파일러가 자동으로 생성자의 첫 줄에 super(); 조상의 기본생성자 를 삽입 )

조상의 멤버는 조상이 초기화 하게 하자

 

 

 

 


패키지 (package)    & .jar파일

규칙

1. 서로관련된 클래스의 묶음

2. 클래스 → 클래스파일 ( *.class )

    패키지  폴더

    하위 패키지  → 하위폴더

3. 클래스의 실제진짜이름( full name)은 패키지를 포함함.     ( 예시_ java.lang.String )

. jar 파일이란?
클래스 파일들을 묶어 놓은 것.


rt.jar 란?
자바프로그램이 실행하는데 필요한 클래스들을 묶어놓은 것

rt.jar는 클래스들을 압축한 파일 ( JDK설치경로 \ jre \ lib 에 위치하고있음 )
runTime을 의미 ( 실행할 때 혹은 실행중을 말함)


※ Java9 부터는 rt.jar 파일이 없어짐, 너무커서 작은 module로 쪼개놓음.


확인을위해 진짜 rt.jar 파일 압축을 풀어 확인함
( jar.exe 혹은 zip해제 프로그램으로 풀수있음) 




이클립스에서 확인하기


 

패키지의 선언

규칙

1. 패키지는 소스파일의 첫 번째 문장으로 단 한번 선언.

2. 같은 소스파일의 클래스들은 모두 같은 패키지에 속하게 된다.

3. 패키지 선언이 없으면 이름없는(unnamed)(defalut package) 패키지에 속하게 된다.

 

 

 

 

 


이클립스 도움없이 cmd로 실행하기

 

1. 소스파일 위치 찾아서, 프로젝트 폴더로 이동 후, bin폴더 열기 

 

 

2. bin 폴더로 이동

 

3. 다시 '패키지명.소스파일명'  으로 실행시키니 잘됨

그러나, 매번 경로 넣어줘야 되서 불편 

그래서 클래스패스 관리가 필요

 

 


클래스패스

규칙

1. 클래스파일( *.class)의 위치를 알려주는 경로(path).

2. 환경변수 classpath로 관리하며, 경로간의 구분자를 ;(세미콜론)을 사용하여 여러개를 추가해줄수 있다.

3. classpath(환경변수) 에 패키지 루트를 등록해줘야함.

 

※ 일전 1장에서 했던 것은 자바 실행파일을 환경변수에 등록한 것.

지금은 실행할 경로를 등록하는것

https://goldengiant.tistory.com/89

 

1장. 자바(이클립스) 설치하기

https://github.com/castello/javajungsuk_basic GitHub - castello/javajungsuk_basic: 자바의 정석 기초편 관련 자료입니다. 자바의 정석 기초편 관련 자료입니다. Contribute to castello/javajungsuk_basic development by creating an acc

goldengiant.tistory.com

 


 

매번 경로 지정하여 실행시키기 불편하니 환경변수에 등록

 

 

1. 환변수에서 변수이름 : classpath   변수값 : 본인의 workspace명/project명/bin폴더   [경로 복사 붙여넣기]

 

 

2. 정상실행확인

 

 

 

추가팁1 : 현재 class path경로 확인

추가팁2 : 현재 class path경로를 cmd에서 변경및 추가하기

 ( . jar 파일도 등록이가능함. jar는 경로가 아니지만, 압축되어있는 폴더 검색하여 알아서 실행됨 )

 

 

 


출처 : 남궁성의 정석코딩

https://www.youtube.com/@MasterNKS

70~96 (26)

75

+ Recent posts