본문 바로가기

전체 글70

JAVA_예외처리 예외처리 : 프로그램 실행 중 어떤 원인에 의해 오작동하거나 비정상적으로 종료되는 경우 -> 프로그램 에러 또는 오류 ① 컴파일 에러 : 컴파일 실행 중 나타나는 에러 ② 런타임 에러 : 실행 중 나나타는 에러 ③ 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것(프로그램 종료는 안함) ② 런타임 에러 - 에러 : 코드에 의해서 수습될 수 없는 심각한 오류 - 오류 : 코드에 의해서 수습될 수 있는 미약한 오류 - 예외 계층 구조 * printStacktTrace() 와 getMessage() - printStacktTrace() : 예외발생 당시 호출스택에 있었떤 메서드의 정보와 예외메시지 화면에 출력 - getMessage() : 예외클래스의 인스턴스에 저장된 메시지 얻을 수 있음 예외처리 .. 2021. 8. 3.
JAVA_인터페이스 인터페이스(interface) - 추상메서드의 집합, 구현부가 없는 설계도, 모든 멤버는 public 이여야 함 * 추상클래스 VS 인터페이스 추상클래스 : 일반클래스(iv, 생성자 가능)에 추상메서드 존재 (미완성설계도) ex) 의자 만들 때 의자 설계도, 의자 재료, 의자 색상은 정했으나 다리나, 등받이 등 각 객체의 자세한 디자인을 하지 않음 인터페이스 : 추상메서드만 있으며 구현된 것이 없음(iv,생성자 없음)(기본설계도) ex) 의자 만들 때 의자 설계도만 있음 - 선언방법 interface 인터페이스 이름 { public static final 타입 상수이름 = 값; 메서드를 호출할 때는 인터페이스 타입의 구현객체로 호출해야함 ex) interfaceparent c = method(); -> .. 2021. 8. 2.
JAVA_추상화 추상클래스 : 구현부가 없는 메서드( { } 부분이 없는 메서드) (미완성설계도로 객체를 만들기 위해서는 구체적인 설계도를 토대로 만드는데, 추상클래스는 없기 때문에 인스턴스 만들지 못함) ① 다른 클래스 작성에 도움을 주고, 상속을 통해 자손클래스에서 추상메서드를 완성시킨다. 추상클래스에서는 메서드가 완성되어 있지 않기 때문에 인스턴스를 만들지 못한다. abstract 리턴타입 메서드이름 (); (+ {} 가 없음) ② 추상클래스로부터 상속받은 자손클래스가 추상메서드를 완성시켜야하는데, 자손클래스에서도 완성시키지 못하면 자손클래스도 추상클래스로 지정해야한다. * 자손클래스에서 오버라이딩으로 추상클래스의 빈 메서드를 변경하면 되지만 굳이 abstract 로 추상메서드 선언하는 이유로는 자손클래스에서 추상.. 2021. 8. 1.
JAVA_다형성 * '상속'에 대한 이해를 바탕으로 학습이뤄져야 함 - 다형성 (Polymorphism) : 조상타입의 참조변수로 자손타입의 객체(자손의 인스턴스)를 가리키는 것 ( 자손타입의 참조변수로 조상 타입객체 가리킴 --> X) - 장점, ① 다형적 매개변수 (조상의 참조변수로 자손타입객체 가리킬 수 있으며, 참조변수의 형변환으로 사용가능한 멤버변수 수 조절가능) ② 하나의 배열로 여러 종류 객체 다룰 수 있다. public class Polymorphism1 { public static void main(String[] args) { Notebook n = null; Mac m = new Mac(); Mac m2 =null; System.out.println(m.color); //null m.OS(); //".. 2021. 8. 1.
JAVA_제어자 - 제어자 : 클래스, 변수, 메서드 선언부에 함께 사용되어 부가적 의미를 부여함 접근제어자 : public, protected, (default), private 그 외 : final, static, abstract ① static : 클래스의, 공통적인 멤버변수 : 모든 인스턴스에 공통으로 사용되는 클래스 변수 메서드 : 인스턴스 생성없이 호출 가능 ② final : 마지막의, 변경될 수 없는 클래스 : 조상클래스 사용 불가, 변경될 수 없는(마지막) 클래스 메서드 : 오버라이딩 불가능(재정의불가능) 멤버변수 : 변경할 수 없는 변수(=> 상수) - 접근제어자 : public, protected, default, private 중 1개만 사용가능 public과 default는 클래스에서만 사용가능 클.. 2021. 7. 31.
JAVA_Pakage와 import 환경변수 설정에서 클래스패스를 설정해서 디렉토리의 경로를 적지 않아도 컴파일 가능한 방법이 있지만 아직 이해가 가지 않았다. 그래서 우선 디렉토리 경로를 찾아 컴파일하는 방법만 기록하고자 한다. src(source) : 소스파일이 있는 곳 bin(binary:컴퓨터언어) : 컴파일된 클래스 파일이 있는 곳 - mac 명령어 명령어 mac window 현재 디렉토리 pwd cd 현재 디렉토리 파일 리스트 ls -al dir 디렉토리 이동 cd cd 화면 클리어 clear cls - import : 클래스 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략할 수 있다. (단축키 : shift + command + o) -.. 2021. 7. 31.