목록Java (26)
개발자입니다
220308 -회색부분은 컴파일러 레벨에서 예외처리 루틴이 구현되야 함 .printStackTrace() : 예외 발생 당시의 호출 스택에 있었던 메서드의 정보와 예외 메시지를 화면에 출력한다. .getMessage() : 발생한 예외 클래스의 인스턴스에 저장된 메시지를 얻을 수 있다. -finally 어떠한 경우에도 finally 블럭 실행. return이 앞에 있더라도 -Collection Framework : 일을 처리하는 방식의 틀을 규격화 시켜놓음 자바 객체들의 집합이 있는데 그것을 처리하기 위한 틀 List : object 타입을 elements로 갖는다. Index 사용 Set : index 미사용. 순서 없고 중복 미허용 Map : Hash function(해쉬 함수)에 ke..
220307 -예외 처리 데이터 타입 없으면 데이터로써 인식을 못함 사용자 데이터에만 영향을 미치는 오류도 있음 시스템의 오류 처리방법 : 강제종료 시스템에 영향을 미치는 것 : 에러 사용자 데이터에 영향을 미치는 것 : 예외 사용자 데이터에 영향을 미치는 코드가 발생하면 그 코드를 실행시키지 않음 -> 예외 처리 코드로 분기시킴 try ~ catch 는 한 몸 지역 변수의 지역 = 블록 예외가 발생하면 그 코드 대신 다른 코드 실행 예외 발생시 JVM이 객체 생성 컴파일러가 체크하는 예외, 체크하지 않는 예외 있음 예외 활성화시 throw 키워드 사용 throw로 예외를 발생시킬 수 있다. throw로 예외를 던진다 = 분기한다
220304 -추상화(abstract) : 상속의 다른 표현. 이미 작성된 클래스(부모 클래스)를 이어 받아서 새로운 클래스(자식 클래스)를 생성하는 기법 함수의 헤더는 존재하지만 푸터는 없음 함수의 타입 정보만으로 공간 확보 안되고 바디가 있어야 공간 확보됨 상속은 옵션, 추상화는 의무 완성된 멤버 상속 : 상속, 미완성 멤버 상속 : 추상화 추상 메서드 : abstract 붙인 메서드 abstract class : 객체를 만들수 없는 클래스. 미완성 메서드를 가지고 있으므로 상속받은 추상 메서드를 구현하지 않는다면 자손 클래스도 추상 클래스로 지정해야 한다 -인터페이스(interface)도 상속임 : 인스턴스 멤버가 하나도 없는 class 인터페이스의 조건 : 멤버가 모두 public 이어..
220303 -상속 자바의 철학 : 단일 상속만 지원한다 메모리 상에 객체가 실체화 되어 있어야 상속 가능 생성자와 초기화 블록 상속 불가. 멤버만 상속 부모 클래스 - 자식 클래스 오버라이딩 : 조상 클래스로부터 상속 받은 메서드의 내용을 변경할 수 있다. 자손 클래스에 상속받은 메서드가 있으면, 메서드 오버라이딩이라도 private으로 처리할 수 없다. age, this.age, super.age 결과 메모리 공간 부모 객체가 생성되어야 자식 객체가 생성된다 -제어자 접근 제어자 - public : 모든 객체 접근 가능 - default : 동일 package의 객체에서 접근 가능 - protected : 상속 관계의 객체에서 접근 가능. 다른 패키지에 있더라도 - pri..
220228 -this() : 해당 객체의 생성자 호출 JVM이 메모리 공간을 할당할때 운영체제가 메모리 공간을 0으로 초기화 시켜줌 여러개의 명령을 블록{}으로 묶는다 : 메서드 블록 사용 목적 : 멤버 변수 초기화 메타정보 : 컴파일러에게 보내는 정보 클래스 변수의 초기화는 static 블록의 초기화로만 가능하다 생성자는 인스턴스를 위한 것이므로 클래스 변수의 초기화 불가
220227 -생성자(constructor) : 메서드 객체의 생성을 완성해주는 자. 사용자가 호출할 수 없는 함수 메모리 공간에 데이터를 생성해주는 최종 생성 단계 객체지향 언어는 메모리 공간 할당 요청하면 운영체제가 0으로 초기화 시킴 시스템에 의해 호출되는 함수는 void 생략함 사용자가 생성자를 정의하지 않으면 컴파일러가 정의함. 고로 생략 가능하단 얘기 하나의 클래스에 여러개의 생성자(메서드)가 있을 수 있다 : 생성자 오버로딩 인스턴스 최종 생성 단계에 생성자 사용 사용자가 생성자를 만들어 놓으면 기본(default) 생성자가 생성되지 않음 new ConstExx() // 생성자 호출이 아님 new ConstExx (100) ← 생성자에 전달하는 값 ↑데이터 타입 ..