클래스, 변수, 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 접근 제어자는 4가지 중 하나만 선택해서 사용할 수 있다. 제어자들 간의 순서는 관계없지만 주로 접근 제어자를 제일 왼쪽에 놓는다. 제어자의 종류 접근 제어자: public, protected, (default), private 그 외: static, final, abstract, native, transient, synchronized, volatile, stricffp static, final, abstract만 보통 자주 사용된다. static - 클래스의, 공통적인 static이 붙은 멤버변수(클래스 변수)처럼 인스턴스에 관계없이 같은 값을 같는다. → ..
소스파일 작성할 때 다른 패키지의 클래스를 사용하려면 패키지명이 포함된 클래스 이름을 사용해야 한다. 클래스의 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략할 수 있다. import문 역활 컴파일러에게 소스파일에 사용된 클래스의 패키지에 대한 정보를 제공 컴파일 시에 컴파일러는 import문을 통해 소스파일에 사용된 클래스들의 패키지를 알아낸 다음 모든 클래스이름 앞에 패키지명을 붙여준다. 모든 소스파일(.java)에서 import문 선언은 package문 다음에 클래스 선언문 이전에 선언 가능하다. (한 소스파일에 여러 번 선언할 수 있다.) 선언방법 import 패키지명.클래스명; 또는 import 패키지명...
클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 같은 이름의 클래스라도 서로 다른 패키지에 존재하는 것은 가능하다. 모든 클래스는 반드시 하나의 패키지에 포함되어야 한다. Java에서 기본적으로 이름 없는 패키지(unnamed package)를 제공한다. 패키지를 지정하지 않은 모든 클래스들은 같은 패키지에 속하는 이야기 다른 개발자가 개발한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있다. 클래스의 실제 이름은 패키지 명을 포함한 이름이다. String클래스의 실제 이름은 java.lang.String (java.lang패키지에 속한 String클래스) 클래스가 물리적으로 하나의 클래스파일(.cla..
super는 자식 클래스에서 부모 클래스로 부터 상속받은 멤버를 참조하는데 사용되는 참조변수 멤버변수와 지역변수의 이름이 같을 때 this를 붙여서 구별 상속받은 멤버와 자신의 멤버와 이름이 같을 때 super를 붙여서 구별 모든 인스턴스 메서드에는 this와 super가 지역변수로 존재하는데 자신이 속한 인스턴스 주소가 자동으로 저장된다. 조상의 멤버와 자신의 멤버를 구별하는데 사용하는 점만 제외하면 this와 super 근본적으로 같다. public class Point { int x = 20; } class Circle extends Point{ int x = 10; void method(){ System.out.println(x); System.out.println(this.x); System.o..
오버로딩 메서드도 변수와 마찬가지로 클래스 내에서 구별가능해야 한다. Java에서는 같은 이름으로 여러개의 메서드를 정의할 수 있는데 이를 메서드 오버로딩 또는 간단히 오버로딩이라고 한다. (조건이 존재) 메서드 이름이 같아야 한다. 매개변수의 개수 또는 타입이 달라야한다. (매개변수 이름이 다른건 의미 없다.) 반환타입은 관계없다. 매개변수(long a, int b) → (int a, long b) 오버로딩 성립된다. 오버라이딩 자식 클래스의 맞게 부모 클래스로부터 상속받은 메서드의 내용을 변경하는 것 (그대로 사용해도 된다.) 예를들어 학생 수가 30명만 될 줄 알았는데 40명이 되어서 메서드 수정해야될 때 메서드의 내용만을 새로 작성하는 것이기 때문에 메서드의 선언부(메서드 이름, 매개변수, 반환타..
uhanuu
'책' 카테고리의 글 목록 (9 Page)