일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 예외
- 개발자취업
- 예외 처리
- til
- 99클럽
- try-catch-finally 블록
- 예외클래스
- throws 키워드
- 일반 예외
- 실행 예외
- 코딩테스트준비
- 항해99
- 다중 catch 블록
- 로켓펀치 #취준컴퍼니 #취업 #일상 #취준생
- Today
- Total
목록전체 글 (166)
innn
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/oDJaq/btrGC7SiqFH/jK1inyXgEj8F9LuLWt1tQ0/img.png)
참조변수 super ( == this와 비슷, lv와 iv구별에 사용) - 객체 자신을 가리키는 참조변수. 인스턴스 메서드(생성자) 내에서만 존재. (static 메소드 내에는 사용불가) - 조상의 멤버를 자신의 멤버와 구별할 때 사용. 이름이 같아도 두 개가 따로 만들어짐 하나는 super.x 하나는 this.x인 것임. 여기서 x는 super.x인 동시에 this.x 인 것임. super. 과 super()은 전혀 다른 것이다. 관계 없음 super() 은 조상의 생성자이다. - 조상의 생성자를 호출할 때 사용한다. - 조상의 멤버는 조상의 생성자를 호출해서 초기화한다. 추가조건 - 생성자의 첫 줄에 반드시 생성자를 호출해야한다. 그렇지 않으면 컴파일러가 생성자의 첫 줄에 super();를 삽입 St..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/KmDG6/btrGCDbjzHZ/GMeIs5ZytOR3EqKxTy7DvK/img.png)
(메소드) 오버라이딩 - 상속받은 조상의 메소드를 자신에 맞게 변경하는 것 그니까 오버라이딩은 덮어쓰는거임. 변화 수정, 체인지임 새로운게 아니라 이름 똑같 매개변수 똑같 선언부를 완전히 똑같이 만든애를 내용만 수정해서 쓰는거임. ((( 흥달쌤 인강에 나왔던 아버지처럼 살기 싫어. 이게 오버라이딩임 ))) overrid ; v.덮어쓰다 오버라이딩의 조건 1. 선언부가 조상 클래스의 메소드와 일치해야한다. 2. 접근 제어자를 조상 클래스보다 더 좁은 범위로 변경할 수 없다. public, protected, (default), private 3. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다. 오버로딩 기존에 없는 새로운 메소드를 정의하는 거 (new) 오버라이딩 (= 상속과 관계 있음) 상속받은 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/1owbE/btrFLBF20KX/ggpZg2WFVJ9yhF8IYm7dU0/img.png)
생성자 this() - 생성자에서 다른 생성자 호출할 때 사용 - 다른 생성자 호출시 첫 줄에서만 사용 가능 참조변수 this - 인스턴스 자신을 가리키는 참조변수 - 인스턴스 메서드(생성자 포함)에서 사용가능 - 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용 this 인스턴스 자신을 가리키는 참조변수. this(), this(매개변수) 생성자. 같은 클래스의 다른 생성자를 호출할 때 사용한다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bnZRPt/btrGzwdMOkT/bIJQWys4WelNdYA21flDS0/img.png)
소켓 프로그래밍 ip주소, 포트 번호 두 가지 정보를 모두 알아야 통신할 수 있다. 데이터베이스 시스템과 데이터 베이스는 다른 말임. 데이터 베이스는 조직의 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아놓은 것 . 데이터 베이스 시스템은 데이터의 검색과 변경 작업을 주로 수행함 디비는 보통 여러개이다. 하나가 고장나면 잣대기 때문.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bZM41i/btrGu4WAFe5/HzvfacRkmLhWdLAq7pAZj1/img.png)
다중 상속의 문제점이 있다. TV와 DVD를 같이 상속 받은 TVDVD라는 클래스가 있다. 이때 각 클래스에 이름이 같지만 내용이 다른 메소드가 있다면 ?? 충돌이 일어날 수 있음. 충돌 났을때 해결하기 어려움. 나중에 인터페이스를 이용하면, 충돌 문제를 해결하면서 다중상속을 해결할 수 있음. 다중 상속 관계를 표현하고 싶다면? - 비중 높은건 상속으로 나머지는 포함으로 처리한다. Object 클래스 - 모든 클래스의 조상 - 부모가 없는 클래스는 자동적으로 Object 클래스를 상속받게 된다. 그래서 toString(), equals() 등의 메서드를 쓰는 거임.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bC7axi/btrGzNMNkX8/3SNk3XWDECZzybLHl1cGF1/img.png)
클래스의 관계는 크게 두 가지로 나뉜다. 1. 상속 2. 포함 포함이란?(Composite) - 클래스의 멤버로 참조변수를 선언하는 것. 왼쪽은 저장공간이 xyr 세 개다. 오른쪽 역시 저장공간은 xyr로 세개다.(r위의 객체 c는 x,y의 주소번지를 갖고 있기때문에 저장공간이 아니다.) 두 경우 저장공간은 동일하지만 구조만 다른셈이다. 클래스 간의 관계를 결정할때 언제 상속하고 언제 포함할까? 가장 간단한 방법은 문장을 만드는 것이다. is a 관계면 상속 관계 has a 관계는 포함 관계다. 원은 점이다 원은 점을 가지고 있다. 어느 문장이 더 자연스러울까 ? 두번째다. 사실, 대부분의 경우는 포함이다. (90퍼센트) 상속은 조건이 까다롭기 때문 생성된 객체를 메모리를 그림으로 그려보는 것이 설계에 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/LS56i/btrGARUVDPU/bCwXhQQpERrVKNuA9w7Rek/img.png)
상속 - 기존의 클래스를 이용해서 새로운 클래스를 작성하는 것 (코드의 재사용) - 두 클래스를 부모와 자식으로 관계를 맺어주는 것. class 자식 클래스 extends 부모클래스 { } class Parent {} class Child extends Parent { } Child 클래스와 Parent 클래스는 상속 관계에 있다고 한다. 자손은 조상의 모든 멤버를 상속 받는다. ((생성자, 초기화 블록 제외)) ((부모의 부모가 있을 수 있어서 자손이라고 표현. 부모란 표현 대신 조상이란 표현씀. 바로 위 부모말고 부모의 부모클래스도 있을 수 있으니)) 선택의 여지가 없음. 부모가 맘에 안들든 들든, 부모의 모든 멤버를 무조건 상속 받아야함. 그래서 자손의 멤버 개수가 조상보다 적을 수 없다. (같거나..