목록Java (181)
충분히 쌓여가는
제어자(modifier) 클래스와 클래스의 멤버(멤버변수, 메서드)앞에 붙어 부가적인 의미 부여 접근 제어자: public, protected, (default), private 4개 중 1개만 붙일 수 있다 (default)는 따로 코드에 추가하는 것이 아닌 아무것도 안붙이는 경우를 의미한다 그 외: static, final, abstract, native, transient, synchronized, volatile, strictfp 하나의 대상에 여러 제어자를 같이 사용가능(*접근 제어자는 하나만 가능) 순서는 상관없지만 보통 접근 제어자를 왼쪽 부분에 쓴다 static public final, final static public, public static final static 객체 생성없이 사용..
import 문 클래스를 사용할 때 패키지 이름을 생략할 수 있다 컴파일러에게 클래스가 속한 패키지를 알려준다 Eclipse: auto import 문 단축키 윈도우: ctrl + shift + o 맥: cmd + shift + o IntelliJ: auto import 문 단축키 자동으로 만들어줌 맥: opt + enter 해당 코드에서 import 문을 사용하면 java.util 부분을 생략할 수 있다 java.lang 패키지(기본 패키지)의 클래스는 import 하지 않고도 사용할 수 있다 String, Object, System, Thread ... (*은 해당 패키지에 있는 모든 클래스를 의미함) // import java.lang.*; // 생략 가능 class importTest { publ..
패키지(package) 서로 관련된 클래스의 묶음 소스 파일을 컴파일: 클래스 -> 클래스 파일(*.class), 패키지 -> 폴더, 하위 패키지 -> 하위 폴더 클래스의 실제 이름은 패키지를 포함(java.lang.String) -> String의 실제이름이 java.lang.String 패키지 선언 패키지는 소스파일의 첫 번째 문장으로 단 한 번 선언 같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 된다 package OOP; public class PackageTest { public static void main(String[] args) { System.out.println("Hello World"); // Hello World } } class PackageTest2 { } 소스파일 안..
생성자 super() 조상의 생성자를 호출할 때 사용 조상의 멤버는 조상의 생성자를 호출해서 초기화 참조변수 super와 관계없다 (상속에서 생성자와 초기화 블록은 상속이 불가능하다) 잘못된 코드 Point3D라는 자손의 생성자가 this.x = x;로 조상의 멤버를 초기화하고 있다 -> 안되는 것은 아니지만 비추천 자손의 생성자는 자신이 선언한 것만 초기화해야됨 -> super(x, y)와 같이 조상의 생성자를 호출해야됨 조상이 선언한 멤버를 초기화하려면 조상의 생성자를 호출해서 조상의 생성자가 조상멤버를 초기화해야됨 생성자 super()의 추가 조건 생성자의 첫 줄에 반드시 생성자(super, this)를 호출해야 한다 호출하지 않을 경우 컴파일러가 생성자의 첫 줄에 super();을 삽입한다 해당 ..