절대경로, 상대경로


파일시스템 내에서 특정 파일의 위치나 이름을 나타내는 양식이다.

(파일 시스템 내의 주소 같은 개념)



절대경로


  • 절대적인 위치를 가르키는 경로
  • 나의 위치가 어디든 이 경로는 동일하다.
  • 컴퓨터 상의 디렉토리 에서는 C:\ 를 항상 포함, URL에서는 http://로 시작한다.
  • 외부 파일을 불러 올때는 절대경로를 사용.

상대경로

  • 현재 폴더 위치에서 경로를 인식하는 방법이다.
  • 나의 위치가 기준이 되는 경로(내 위치에 따라 경로가 옳지 않을 수도 있다.)
  • 내부의 파일을 불러올 때는 상대경로를 사용.

상위폴더 ../파일명

현재폴더 파일명

하위폴더 디렉토리명/파일명






'프로그래밍' 카테고리의 다른 글

회원가입 다음주소 API 사용하기  (0) 2018.10.23
버전관리시스템이란?  (0) 2018.10.21

final

상수를 표현하기 위한 예약어

마지막이라는 단어의 뜻 처럼 선언한 그대로 사용


final 필드

final필드의 뜻은 최종적인 필드라는 뜻이다.

final필드는 초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없다.

▼final필드 선언

final String name = "yujin"; 

final 필드의 초기값을 줄 수 있는 2가지 방법

1. 필드 선언시에 주는 방법. (단순 값)

final String nation = "korea"; 

2. 생성자에서 주는 방법. (복잡한 초기화 코드가 필요하거나  객체 생성 시에 외부 데이터로 초기화해야할 때 사용)

final String ssn; 


상수(static final)

상수란? 

불변의 값을 말한다. 불변의 값은 수학에서 사용되는 원주율 파이(π)나, 지구의 무게및 둘레 등이 해당된다.

이런 불변의 값을 저장하는 필드를 자바에서는 상수(constant)라고 한다.

상수는 static 이면서 final이어야 한다. static final필드는 객체마다 저장되지 않고, 클래스에만 포함 된다. 그리고 한번 초기값이 정해지면 변경할 수 없다. 

 static final double PI = 3.141592;

 static final double EARTH_SURFACE_AREA; //상수이름은 대문자로 한다


final 메소드

final로 메소드를 선언하면 오버라이딩할 수 없는 메소드임을 선언한다.

자식 클래스가 부모 클래스의 특정 메소드를 오버라이딩 하지 못하게 하고 무조건 상속받아 사용하도록 하고자 한다면 final로 지정한다.

( 부모한테 강제 상속)


final 클래스

public final class 클래스{....}

final 클래스는 클래스를 상속받을수 없다.

final 클래스를 상속받아 sub 클래스를 만들수 없다. 


'프로그래밍 > JAVA' 카테고리의 다른 글

[html,css,js]동적으로 테이블 만들기  (0) 2018.10.21
[JAVA] String 타입  (8) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA]접근 지정자를 알아보자!  (2) 2018.08.17

String  타입 


자바는 문자열을 String 변수에 저장한다.

 

String 변수;

변수 = "문자열";

 

▽ 변수 선언과 동시에 문자열 저장하기 

String 변수 = "문자열";


▽자바는 문자열 리터럴이 동일 하다면 String 객체를 공유하도록 되어있다

 다음과 같이 name1과 name2변수가 동일한 문자열을 사용하면 name1과 name2는 동일한 String객체를 참조하게 된다.

String name1 = "유정뱅이";

String name2 = "유정뱅이";

name1 == name2 의 연산 결과는 true가 나온다.


▽new연산자를 사용한 String 객체 생성

 

String name1 = new String("유정뱅이");

String name2 = new String("유정뱅이");

name1 == name2 의 연산 결과는 false가 나온다. ( == 연산자는 변수에 저장된 객체 번지가 동일한지를 검사한다.)

 

boolean result = str1.equals(str2);  //str1 = 원본 문자열 , str2 = 비교 문자열 

 

String 객체이건 다른 String 객체이건 상관없이 문자열만을 비교한때에는 String 객체의 equals()메소드를 사용해야한다.

equals()메소드는 원본 문자열과 매개값으롤 주어진 비교 문자열이 동일한지 비교한 후 true 또는 false를 리턴한다.

 

String name1 = null;

String 변수는 참조 타입이므로 초기값으로 null을 대입할 수 있다. null은 String변수가 참조하는 String객체가 없다는 뜻이다.


String name1 = "유정뱅이";

 name1 = null;

name1변수가 String객체를 참조하였으나, null을 대입함으로써 더 이상 String객체를 참조하지 않도록 할 수도 있다.

참조를 잃은 String객체는 어떻게 될까?  JVM은 참조 되지 않은 객체를 쓰레기 취급하고 쓰레기 수집기(Gabage Collector)를 구동시켜 메모리에서 자동 제거한다.





'프로그래밍 > JAVA' 카테고리의 다른 글

[html,css,js]동적으로 테이블 만들기  (0) 2018.10.21
[JAVA] final  (1) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA]접근 지정자를 알아보자!  (2) 2018.08.17

+ Recent posts