분류 전체보기 176

+23 내부클래스, 예외처리

p403 - 424 내부 클래스 p403 1. ㅡㅡㅡㅡㅡㅡ 인스턴스 멤버 ㅡㅡㅡㅡㅡㅡ 10 Inner: print() Call: name = 김가가 ㅡㅡㅡㅡㅡㅡ static 멤버 ㅡㅡㅡㅡㅡㅡ Inner:print() Call... ㅡㅡㅡㅡㅡㅡ 지역 클래스 ㅡㅡㅡㅡㅡㅡ 지역 클래스: Inner: print() Call... ㅡㅡㅡㅡㅡㅡ 익명의 클래스 ㅡㅡㅡㅡㅡㅡ Inner4: print() Call... Outer4에서 print() 오버라이딩... class Outer { private String name = "김가가"; class Inner { int a = 10; public void print() { System.out.println("Inner: print() Call: name = " + na..

수업 2022.06.03

인터페이스

인터페이스는 일종의 추상클래스다. 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외는 없다. 추상 클래스를 부분적으로 완성된 미완성 설계도라고 한다면, 인터페이스는 구현된 것이 아무 것도 없고 밑그림만 그린 기본 설계도라 할 수 있다. 인터페이스도 추상클래스처럼 완성되지 않은 불완전한 것이기 때문에 그 자체만으로 사용되기 보다는 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다. 인터페이스 작성 인터페이스 작성은 클래스 작성과 같다. 다만 키워드로 class 대신 interface를 사용하는 것만 다르다. interface에도 클래스와 같이..

Java/정석 2022.06.03

추상 클래스

추상 클래스 미완성 메서드(추상 메서드)를 포함한 클래스를 뜻한다. 미완성 설계도로 완성된 작품을 만들 수 없 듯이 추상 클래스로 인스턴스를 생성할 수 없다. 추상 클래스는 상속을 통해서 child 클래스에 의해서만 완성된다. 추상 클래스 자체로는 클래스로서 역할을 다 못하지만, 새로운 클래스를 작성하는데 바탕이 되는 parent 클래스로서 중요한 의미를 갖는다. 새 클래스를 작성할 때 아무 것도 없는 상태에서 시작하는 것보다는 완전하지는 못 하더라도 어느 정도 틀을 갖춘 상태에서 시작하는 게 나으니. TV도 여러 종류 모델이 있지만 설계도는 거의 비슷하다. 이 들의 공통 부분만을 그린 미완성 설계도를 만들어 놓고, 이 걸 이용해 각각의 설계도를 완성하는 게 더 효율적이다. 추상 클래스 사용법 abstr..

Java/정석 2022.06.02

+22 super, this, 형변환, 추상클래스, 인터페이스

p375-387, 390 super, this Super: 생성자 Call... Sub: 생성자 Call... Super.a = 100 Sub.a = 200 Super: display() Call.. Sub: display() Call... class Super // extends Object { int a = 100; public Super() { System.out.println("Super: 생성자 Call..."); } public void display() { System.out.println("Super: display() Call.."); } } class Sub extends Super { int a = 200; public Sub() { super(); // 첫 줄에 사용 → 사용 빈도 ..

수업 2022.06.02

11721: substring()

1. 문제 문자열 한 줄로 입력 받은 다음 해당 문자열을 열 글자 단위로 끊어서 출력한다. 마지막으로 끊어지는 문자열이 10미만이면 그것만 출력한다. 2. 풀이 string() 메서드 사용한다. 마지막 문자열이 열 글자 미만인 경우의 핸들링 때문에 조건문을 통해 반복문 반복 횟수, 몇 번째 문자열까지 끊어올 지 다르게 돌아가도록 한다. 3. 코드 public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = ""; int cnt; str = sc.nextLine(); if(str.length() % 10 == 0) cnt = str.length() / 10; else cnt = str.length() / ..

Java/백준 2022.06.01