목록웹프로그래밍 (48)
bdfgdfg
모든것을 외울필요는 당연히 없고, 유용해보이는것들 작성 혹은 중요한 개념이라고 생각되는것들만 작성. Object클래스 모든 클래스의 최상위 부모. clone() : 객체 자신의 복사본을 만든다. -> 예전에는 clone()후 앞에 형변환을 직접 해주어야 했는데, 공변 반환 타입을 통해 clone()을 오버라이딩 했을 때 반환타입을 실제로 반환되는 타입으로 반환 가능하다. -> 또한 clone()은 일반적으로 얕은복사. 그렇기에 복제할 대상의 인스턴스가 멤버로 클래스 멤버변수를 가지고 있다면 깊은 복사 처리가 될 수 있도록 처리해주어야 한다. wait() : 다른 쓰레드가 notify를 호출할때까지 현재 쓰레드는 무한 대기 및 매개변수로 넣은 시간동안 대기. hashcode() -> 해싱 기법에 사용되는 ..
예외처리란 런타임에 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것을 의미. -> 프로그램의 갑작스런 비정상종료를 막고, 다시 정상적인 상태로 복구 시키기 위함. 자바는 런타임에 발생할 수 있는 프로그램 오류를 에러와 예외 두 가지로 분류한다. 에러는 메모리 부족(OutOfMemoryError)나 스택오버플로우(StackOverFlowError)와 같이 발생 시 복구할 수 없는 심각한 오류 예외는 발생되더라도 수습가능한 상대적으로 덜 심각한 오류. 여기서 위의 예외를 핸들링하는 방법인 예외처리를 배워본다. 예외 클래스 계층구조 RuntimeException 클래스들은 프로그래머의 실수에 의해 발생가능한 예외들과 연관이 있다. -> ex) 배열 크기를 넘어선 인덱스 접근, null 접..
제어자 제어자는 클래스,변수 또는 메서드의 선언부에 사용되어 부가적인 의미를 부여. 크게 여기서 알아볼건 public,protected,default, private등이고, 그 외 static,final,abstract,synchronized,volatile등이 있다. 접근 제어자 접근제어자는 클래스,멤버변수,메소드,생성자에 사용되며 이름 그대로 접근 수준의 레벨을 부여하는 것. private - 같은 클래스 내에서만 접근이 가능. default - 같은 패키지 내에서만 접근이 가능. (참고로 접근제어자가 지정되어 있지않다면 이 접근제어자가 기본값.) protected - 같은 패키지 및 다른 패키지의 자손클래스에서 접근이 가능. public - 접근 제한이 전혀없음. 접근 제어자를 이용하는 이유는 캡슐..
패키지(package) 패키지는 클래스의 묶음. 패키지에는 클래스,인터페이스를 포함하며 서로 관련된 클래스들 끼리 그룹단위로 묶어 클래스를 효율적으로 관리할 수 있다. 또한 같은 이름의 클래스라도 서로 다른 패키지에 존재할 수 있어서 자신만의 패키지 체계를 유지하면서 다른 개발자가 개발한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있다. 클래스가 물리적으로 하나의 클래스파일(.class)인 것과 같이 패키지는 물리적으로 하나의 디렉토리임. 사실 클래스의 실제이름(full name)은 패키지명을 포함한 것. -> ex) String클래스의 실제 이름은 java.lang.String. 즉 java.lang패키지에 속한 String 클래스. 즉 java.lang.String클래스는 물리적으로 ..