일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- fuction
- Vector
- run()
- 추상클래스
- constantnumber
- 콘크리트클래스
- class
- reference
- methodArea
- MSA
- abstractclass
- hamobee
- Polymorphism
- override
- eclipse
- 생성자
- ALTER
- Hashtable
- value
- object
- hashCode
- super
- garbagecollection
- start()
- 객체형변환
- overload
- string
- concreteclass
- arguments
- Eureka
- Today
- Total
목록전체 글 (259)
뇌운동일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpkxPk/btqCVEs9V5C/FlZB8uZ5hx5xPR2nvoqF1k/img.jpg)
상수 1. 단 한번만 초기화 2. final 3. 변수 이름을 모두 대문자로 기억하기 편하다 -> 숫자나 복잡한 문자열을 간단한 단어로 바꾸어 사용 예외처리 예외 : 실행 시 입력 인자에 따라서 오류가 발생하는 것 실행 시, 상황에 따라서 발생하는 오류 처리 ) try{ // 예외발생 예측지점; } catch ( Exception e ) { // e를 이용해서 예외처리; } finally { // 마지막 처리문; (주로 자원 반납) } C언어에서는 try, catch만 있음 JAVA에는 finally도 있으며 선택적으로 사용가능하다 catch문을 여러개 써서 상활에 따라 다르게 처리 Exception이 가장 큰 범위의 블록 사용자가 예외처리를 정의해서 처리할 수도 있음 각각의 클래스에서 처리할 것인지, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/QLdBh/btqCTvWS889/3GPqIIv3x9whV5A9HP8wV0/img.jpg)
추상 클래스란? : 추상 메소드를 포함하고 있는 클래스 추상 메소드 : 선언만 있고 정의가 없는 메소드 선언만 있다 -> 원형이 존재한다 정의가 없다 -> 내용이 없다 ( { }이 존재하지 않는다 ) 콘크리트 클래스 : 추상 클래스를 상속받음, 추상 클래스를 반드시 재정의 추상클래스의 객체변수 = new 추상클래스의 생성자(); // X // heap영역에 메모리를 할당해라. 생성자만큼 정의가 없어서 메모리를 제대로 할당할 수 없음. -> 이렇게 사용할 수 없다. 콘크리트 클래스의 객체변수 = new 콘크리트 클래스의 생성자(); // O -> 주로 이렇게 사용 추상클래스의 용도 : 뼈대, 설계도 추상클래스 안에는 일반 메서드도 포함. 추상 클래스가 하나라도 있으면 추상클래스 ---------------..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ddi5lj/btqCSf1nZbF/ntYUpp9hpr1cAEKtu3C9F1/img.jpg)
상속 관계에서의 생성자 1. 상속 관계에서의 생성자는 상위 클래스의 생성자부터 실행 2. 하위 instance를 생성할 때, 변수를 초기화하려면, 상위 instance의 member부터 초기화해야한다. 3. 기본 생성자를 만들 것. 인자가 있는 생성자가 존재할 시, 기본 생성자는 자동생성이 되지 않는다. this this. 는 해당 인스턴스를 가리키는 키워드 -> 현재 class가 instance화 되었을 떼 , 그 instance를 가리키는 keyword this() : 생성자를 가리키는 것 메인함수 안에서는 this. 를 사용할 수 없다. this. 는 객체가 만들어진 것을 가리키는 것 instance를 생성해서 사용해야 함. static 키워드가 붙은 메소드 안에서는 this. 를 사용할 수 없다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxZZ6V/btqCU64A5Dd/i4bIT0IICI07YFLHSerg6k/img.jpg)
기본형(Primitive type) 데이터들의 형변환 객체 참조형(Object reference type) 데이터들의 형변환 서로 다른 클래스로부터의 인스턴스들의 형변환 객체형변환 Coffee c = new Americano(); 왼쪽 객체변수와 오른쪽 인스턴스의 객체 유형이 서로 다른 경우, 두 클래스 간 상속 관계에 있고, Coffee가 Americano의 상위클래스인 경우에만 형변환이 일어남. 하위 클래스에서 상위 클래스로 할당하는 것은 가능 ( 상위 클래스 = 하위 클래스 ) 상위 클래스에서 하위 클래스로 할당하는 경우에는 강제 형변환이 필요 ( 하위 클래스 = 상위 클래스 ) Americano는 Coffee에서 확장(extends)하는 개념이므로 상위 클래스에 하위 클래스를 할당하는 것은 문제가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/un0uk/btqCOfgc45U/P8ZZNz7k6TA7Snds5BDq5K/img.jpg)
override : 상위 클래스에 정의된 메소드를 하위 클래스에서 그것을 상속받아 재정의 상속일때만 발생, 메소드의 원형이 같다 원형(proto type) - 선언(declare) 처리식이 바뀐다 1. 해당 인스턴스의 멤버들이 우선적으로 실행 overloading 과부하 같은 클래스 내에서 동일한 이름의 메소드를 인자와 형을 달리하면서 여러번 선언하는 것 메소드 이름이 같고, 동일한 클래스 내에 있음 같은 이름의 함수로 여러가지 일을 함 method overloading : 같은 이름의 함수에게 여러가지 일을 시키는 것 동일한 이름의 함수에게 여러가지 일을 시킴. 정의 ) 동일한 클래스 안에 같은 이름의 메소드를 인자의 갯수나 형을 달리하면서 여러번 선언하는 것.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mFUVL/btqCQ3ymQRX/dRIqb707SbkKpxKdK2FJFK/img.jpg)
접근제한자 : 은닉화 -> data(변수값) 보호 private : 완전 폐쇄 protected : 상속관계에서 사용, 상속이 일어나고 있다 아무것도 안붙음(friendly) : 참조하고자 하는 대상이 동일 폴더에 있다 public : 완전 개방 동일 클래스 내부 멤버끼리는 접근제한자가 무시된다 동일한 폴더 안에서는 private빼고 모두 참조 가능 public 요소를 통해 private 요소에 접근 -> data를 보호하기 위해 간접접근을 한다 상속 : 상위 클래스의 자원을 하위 클래스에서 받아서 쓰는 것 extends ( 확장하다) 부모 클래스는 자식 클래스의 자원을 사용할 수 없다. 자바는 다중상속을 금지 C++에서는 다중상속이 가능하다 (virtual) Object : 최상위 클래스 ( 자동 상속 )