java (15) 썸네일형 리스트형 Java 15(Swing) Swing : 그래픽 사용자 인터페이스(GUI)를 개발하기 위한 자바 라이브러리 JFrame 객체 생성 ("첫 번째 프레임창입니다") setBounds(100,100,400,400) : 순서대로 x좌표, y좌표, 폭, 높이 setDefaultCloseOperation : 프레임 창의 닫기 버튼을 클릭했을 때 프로그램이 종료 setVisible(true) : JFrame을 화면에 표시 JPanel : 컨테이너 역할을 하는 컴포넌트 setBackground(col) : 배경색 지정 add(panel) : JFrame에 panel을 추가 JButton : 버튼 생성 버튼에 대한 이벤트 처리 Java 14(throw) checked 예외 : 반드시 예외처리 해야 한다. unchecked 예외 : 컴파일은 통과 메서드 내부에서 해당 예외 발생 시 메서드를 호출한 쪽으로 예외를 넘긴다. unchecked 예외를 넘긴다면 호출하는 쪽에서 반드시 예외처리를 해줘야 된다. finally : 예외와 상관없이 반드시 실행되어야 하는 코드 Java13 (예외 처리) 에러 컴파일에러 : 오타, 문법, 자료형 체크 등등 실행하지 않아도 알 수 있는 에러 런타임에러 : 행, 강제종료, NullPoingException 등등 - 에러 : 메모리 부족, 스택오버플로우 등 복구가 힘든 심각한 오류 - 예외 : 예외처리 코드를 미리 작성해 둠으로써 프로그램 실행이 유지될 수 있는 오류 에러의 발생 타이밍 try catch - 예외 발생 시 별도의 처리를 하지 않으면 프로그램이 비정상 종료된다. try catch 실행흐름 예외의 최상위 클래스 printStackTrace() : 예외가 발생된 메서드의 정보 및 예외 메시지를 화면에 출력 getMessage() : 예외클래스의 인스턴스에 저장된 메세지를 String으로 반환 Java 12(패키지와 import) 패키지 - 클래스를 분류하는 폴더 - 다른 패키지의 클래스를 사용하기 위해서 import를 해야 한다. - 패키지가 다르면 클래스명이 같아도 된다. - 패키지를 만들지 않으면 자동으로 디폴트 패키지를 만든다. 패키지 규칙 - 모든 클래스는 반드시 하나의 패키지 안에 속해야 한다. - 대소문자 모두 사용 가능하지만 클래스명과의 구분을 위해 소문자만 사용한다. - 문법적 제약은 아니지만 일반적으로 도메인 형식으로 만든다. 엔트리포인트 - 프로그램의 시작 진입점 import - 다른 패키지의 클래스를 사용할 때 사용한다. - import는 성능에 영향을 주지 않는다. java.lang 패키지는 매우 빈번하게 쓰이므로 자바에서 자동으로 import 해준다. static import - 가독성을 떨어트리고 성능의.. Java 11(super) super 부모로부터 물려받은 멤버변수, 메서드를 가리킬 때 사용한다. 부모객체를 가리키는 것이 아님. 부모로부터 상속받은 멤버변수들은 부모의 멤버변수와는 별개로 생성된다. super를 쓰지 않고 직접 초기화하면 안 되나? 1. 초기화 코드의 중복 2. class 라이브러리만 가져올 경우 생성자 내부를 확인해 볼 수 없다. 3. 어떤 필터링을 거치는지 확인할 수 없다. 4. 부모의 생성자가 변경되면 같이 변경해줘야 한다. 5. 부모의 생성자가 길어지면 가독성이 떨어진다. Java 10(상속) 상속 1. 초기화 블록은 상속되지 않는다. 2. 멤버변수, 멤버메서드가 상속된다. 3. 자식에서 만들지 않아도 상속받아 마치 선언해 놓은 것처럼 사용한다. 4. 부모의 멤버를 가져오는것 x 별도로 멤버를 생성 5. 자식에서 생성된 멤버들은 부모에게 영향을 주지 않는다. 6. 생성자는 상속x 7. 부모에게 디폴트생성자가 없다면 자식 또한 디폴트 생성자를 만들어주지 않는다. 8. 상속은 무한히 내려갈 수 있다. 9. 자바는 다중 상속 x 사용 예시 Java 09(생성자) 생성자 함수(메서드) - 객체 생성 시에 한 번 호출되는 특수한 메서드 - 객체 생성 시에 1회 호출 - 객체 생성 시 필요한 초기값을 부여 - 생성자 함수는 클래스 이름과 동일하며 반환자료형을 가지지 않는다. - 생성자 함수를 명시하지 않을 때 기본적으로 컴파일러에 의해 주입되는 생성자가 있는데 이를 디폴트 생성자라고 한다. - 컴파일러에 의해 주입받는 디폴트 생성자는 모든 멤버의 초기값을 0(or false or null)으로 지정 생성자가 하나도 없다면 자동으로 만들어 준다. *생성자 사용* 코드가 간결해진다. 생성자 안에서 다른 생성자 호출 - 메서드 이름을 this로 해야 된다. - 생성자의 가장 첫 줄에 작성해야 한다. Java 08(오버로딩, 오버라이딩) 1. 오버로딩(Overloading) 오버로딩은 같은 이름의 메서드나 생성자를 여러 개 정의하는 것을 말한다. - 메서드 이름이 같아야 한다. - 매개변수의 개수 혹은 타입이 달라야 한다. - 리턴 타입은 조건이 아니다. 2. 오버라이딩(Overriding) 오버라이딩은 상위 클래스에 정의된 메서드를 하위 클래스에서 재정의하는 것을 말합니다. 즉, 상속 관계에서 하위 클래스가 상위 클래스의 메서드를 동일한 시그니처(메서드 이름, 매개변수 타입, 반환 타입)로 다시 구현하는 것입니다. 오버로딩은 같은 이름의 메서드나 생성자를 다양한 매개변수로 정의하는 것이고, 오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의하여 다형성을 구현하는 것입니다. 오버라이딩 - 상속 시 부모의 메서드를 덮어쓴다. - 시.. 이전 1 2 다음