| 프로그램 오류, 예외 클래스의 계층구조 컴파일에러 런타임에러: error 심각한 오류 - OOME(out of memory error) exception 1) 사용자 실수 등으로 발생, 2) 프로그래머의 실수로 발생 (RuntimeException) 논리적에러: 작성의도와 다르게 동작 | 예외처리하기, try-catch문의 흐름 class Ex8_1 { public static void main (String args[ ]) { System.out.println(1); try { System.out.println(2); System.out.println(3); } catch (Exception e) { //예외 발생하지 않음으로 출력안됨 System.out.println(4); } System.out..
| 인터페이스의 다형성 class Figher extends Unit implements Fightable { public void main (int x, int y) { } public void attack (Fightable f) { } } 매개변수의 타입이 인터페이스? → Fightable 인터페이스를 구현한 클래스의 인스턴스만 가능 interface Fightable { void move (int x, int y); void attack(Fightable f); } Fightable method () { Figher f = new Fighter (); return f; //return new Fighter(); } 인터페이스를 메서드의 리턴타입으로 지정할 수 있다 Fightable 인터페이스를 구..
| 여러종류의 객체를 배열로 다루기 다형성 장점: 다형적 매개변수 하나의 배열에 여러종류 객체 저장 Product p[ ] = new Product[3]; p[0] = new Tv(); p[1] = new Computer(); p[2] = new Audio(); //public class Vector extends AbstractList 가변배열기능 implements List, Cloneable, java.io.Serializable { protected Object elementData[ ]; ............... } class Buyer { int money = 1000; int bonusPoint = 0; product [ ] cart = new Product[10]; int i = 0; ..
| 접근제어자 private 같은 클래스 내 (default) 같은 패키지 내 protected 같은 패키지 내, 다른 패키지 자손클래스 접근 가능 public 접근제한 없음, 전체 class 앞에는 public, (default) void 등 멤버 앞에는 전부 가능 | 캡슐화 외부로부터 데이터를 보호하기 위해 접근제어자 사용 직접 접근은 막고, 메서드를 통해서 간접접근 허용 class Time { private int hour; private int minute; private int second; public void setHour(int hour) { //메서드제공 if(isNotVaildHour(hour)) return; this.hour = hour; } //매개변수로 넘겨진 hour가 유효한지..
| 참조변수 super, 생성자 super( ) 객체 자신을 가리키는 참조변수, 인스턴스 메서드 내에서만 존재 //this와 유사 조상의 멤버를 자신의 멤버와 구별할 때 사용 class Ex7-2 { public static void main(String args[ ]) { Child c = new Child ( ); c.method( ); } } class Parent { int x = 10; } //super.x, 조상메서드 class Child extends Parent { //this.x int x = 20; void method( ) { System.out.println("x="+x); //가까운 쪽, this.x System.out.println("this.x="+this.x); System...
| 상속 코드의 재사용 자손은 조상의 모든 멤버를 상속받는다 (생성자, 초기화블럭 제회) 자손의 멤버 >= 조상의 멤버 자손의 변경은 조상에 영향을 미치지 않는다 class Parent { } class Child extends Parent { } class Point { int x; int y; } class Point3D extends Point { int z; } class SmartTv extends Tv { boolean caption; void displyCaption(String text) { if (caption) { System.out.println(text); //caption상태가 on일 때, text를 출력 } } } | 클래스 간의 관계, 상속과 포함 포함: 클래스 멤버로 참조변수..
| static 메서드와 인스턴트 메서드 인스턴트 메서드는 이미 객체가 호출되었으므로 인스턴스 변수 사용가능 static 메서드는 항상 호출가능 객체 없을 수 있으므로 인스턴스 변수 사용불가, 객체생성 후 가능 인스턴스 메서드(im) 호출할 수 없다 static 메서드 호출가능 인스턴스 멤버 (인스턴스 메서드, 인스턴스 변수) | 오버로딩 한 클래스 안에 같은 이름 메서드를 여러 개 정의하는 것 void println() void println(boolean x) void println(char x) 오버로딩으로 조건 메서드 이름이 같아야 한다(작업동일) 매개변수 개수 또는 타입이 달라야 반환 타입은 영향 없다 | 생성자 인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드' Time t = new..
| 클래스변수, 인스턴스변수 //속성 cv iv 객체마다 다르게 유지되어야 함 iv 모든 객체공통 cv //static+ Card c = new Card(); c.kind = "HEART"; //iv c.number = 5; Card.width = 200; //cv 클래스이름을 앞에, 참조변수도 작동은 함 Card.height = 300; *flash동영상 MemberVar 따라서 그려보기 | 메서드란? 메서드의 선언부와 구현부 메서드 { } - 작업단위 코드의 중복은 제거필요, 관리쉬움, 재사용, 간결 메서드는 클래스 안에 있어야 하고, 함수는 독립적 한 가지 기능만 수행하도록 작성하는게 좋음 int add (int a, int b) //선언부, 반환타입 int { //구현부 int result = a..
- 정보처리기사
- jdbc
- java
- JIRA
- filezila
- gradle
- 오늘의코딩
- 웹페이지만들기
- AWS
- 실용주의프로그래머
- EC2
- 기술블로그
- 정보처리기사 실기
- 정보처리기사 필기
- 노마드코더
- ubuntu
- git연동
- SQLD
- 노개북
- LifecycleException
- 배포
- 호스팅영역
- 북클럽
- gradle build
- intellij
- spring
- putty
- 개발도서
- 독서후기
- IT 5분 잡학사전
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |