일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 추상클래스
- overload
- super
- abstractclass
- reference
- Eureka
- arguments
- hashCode
- string
- Vector
- override
- value
- constantnumber
- ALTER
- 생성자
- methodArea
- fuction
- object
- Polymorphism
- 객체형변환
- run()
- eclipse
- garbagecollection
- class
- start()
- 콘크리트클래스
- hamobee
- concreteclass
- Hashtable
- MSA
- Today
- Total
목록전체 글 (259)
뇌운동일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbXawT/btqCQoCvgHz/XU3kb9BKSJ9Q9zzKwAz391/img.jpg)
String 1. String은 객체형이지만 인자로 사용되면 call by value로 작동한다. 2. String은 객체형이어서 == (등치연산자)로 비교하면 안된다. 3. equals( )를 사용하여 비교 4. 문자열이 바뀌면 hashcode도 바뀐다. 5. String은 영역에 상관없이 동일한 문자열은 동일한 hashcode를 갖는다. 문자열은 상수이기 때문에 실행하면 메모리에 한번만 존재, 간접으로 접근하게 됨. String str = "너구리"; String str2 = "너구리"; str == str2 ; // True String str3 = new String("너구리"); str == str3 ; // False -> 등치연산자로 비교하면 결과가 다르게 나온다. 등치연산자는 문자열을 비교..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfn8l3/btqCZzjzSH1/uutlbF62Jc3wIyF1NUuyn1/img.jpg)
Singleton : 영역은 하나인데 그 영역을 사용하는 것이 2개 이상인 경우 장점) memory를 획기적으로 줄여쓸 수 있다. 단점) 이전의 상태로 돌아갈 수 없다 동일한 영역을 사용하기 때문에 혼선이 생길 수 있음. -> 무상태의 순차적처리를 할 때 주로 사용. class SampleClass { public static SampleClass sc = null; public static SampleClass getInstance () { if(sc == null) { sc = new SampleClass(); } return sc; } singleton을 만드는 방법 객체는 1개만 만들어짐. final : 바꿀 수 없는 변수, 메소드, 클래스에 붙을 수 있다 변수 -> 상수만들때 final int ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eDQQ2b/btqCNakLDTJ/tk7QPXBt1OLEmVGSYNlRoK/img.jpg)
Class - 객체를 만들기 위한 설계도 - 연관된 변수와 메소드의 집합 Object - 소프트웨어 세계에 구현할 대상 - OOP의 관점에서 클래스 타입으로 선언되었을 때 '객체' Instance - 설계도대로 소프트웨어 세계에 구현된 구체적인 실체 - 객체를 소프트웨어에 실체화한 것이 '인스턴스' - 실체화 된 인스턴스는 메모리에 할당됨 - 인스턴스는 객체에 포함 - OOP의 관점에서 객체가 메모리에 할당되어 실제로 사용될 때 '인스턴스' - 추상적인 개념과 구체적인 객체 사이의 관계에 초점을 맞출 경우에 사용 // 클래스 public class Coffee { } public class Main (String[] args){ Coffee americano, espresso;// 객체 americano..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbhS5G/btqCLeH8Txi/pEy32jHWdrPsxKfp0sPT8k/img.jpg)
Method Area ( Class Area ) cs : 소스가 로드되는 영역 ds : 상수가 저장되는 영역 ( 변화가 없는 것들이 저장되는 영역 ) 상수 - 기본값이 있는 상수 - 기본값이 없는 상수 static - 변수, 메소드 - 로드 시 바로 메모리 할당( = 인스턴스 생성 불필요 ), 실행속도 빠름 - 1회만 생성, 모든 인스턴스가 같이 사용 ( 공유변수 ) - 클래스 변수 ( static keyword가 붙은 변수 ) static 변수 1. 한번만 만들어짐 2. 실행속도 빠름 static -> 프로그램 종료시까지 살아있음 Heap ( 객체영역 - 멤버변수, 멤버메소드 ) : 멤버변수, 지속성, gc로 메모리 수거 garbage collection : 사용되지 않는 heap영역의 memory를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bLJWam/btqCKf1fGH9/p1OIMc8lEjjA2Uf8QIxmi1/img.jpg)
call by value public int add(int a, int b) { return a+b; } 함수영역 (가인자) int a = 10; int b = 20; add(a,b); 호출영역 (실인자) 실인자를 가인자에 복사해줌 (stack복사) return한다 : 함수가 종료되면서 return값을 돌려준다 {} : 영역을 나누는 기호 함수를 호출하는 방법 Call by value 호출 -> 함수 값으로 -> 인자가 기본형 call by value는 실인자가 변경되어도 가인자에 영향이 없다. -> 실인자가 변경되면 가인자에 영향이 있는 것은 call by reference ------------------------------------------------------------------------..