책/Java의 정석

추상클래스 클래스가 미완성이다. → 멤버의 개수에 관계된 것이 아니라, 미완성 메서드(추상 메서드)를 포함하고 있다는 의미 💡 추상 클래스로 인스턴스 생성할 수 없다. 추상 클래스는 상속을 통해서 자식 클래스에 의해서만 완성된다. 추상 클래스로 어떤 시스템의 전반적인 틀을 잡아주고 상속할 때 자식 클래스에서 완성시키면 훨씬 효율적이다. 클래스 앞에 ‘abstract’를 붙여준다. (abstract class 클래스이름{}) 클래스 선언부 ‘abstract’를 보고 추상메서드가 있구나 상속을 통해서 구현해야 되구나 쉽게 알 수 있다. 추상 클래스는 추상 메서드를 포함하고 있는 것을 제외하고는 일반 클래스와 동일함(생성자가 있고 멤버변수와 메서드도 가질 수 있다.) 추상메서드 선언부만 작성하고 구현부는 작성..
클래스, 변수, 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 접근 제어자는 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..
uhanuu
'책/Java의 정석' 카테고리의 글 목록 (3 Page)