Closed DKKwag closed 1 year ago
오브젝트
동일한 종류의 객체가 하나의 역할을 항상 수행한다면 객체 = 역할 이다. 허나, 어떤 협력에서 하나 이상의 객체가 동일한 책임을 수행할 수 있다면 역할은 서로 다른 방법으로 실행할 수 있는 책임의 집합이다.
이펙티브 자바
문자열 연결은 느리니 주의하라, 문자열을 합치는(+) 로직은 String 대신 StringBuilder를 이용하자
최적화는 신중히 해라
(맹목적인 어리석음을 포함해) 그 어떤 핑계보다 효율성이라는 이름 아래 행해진 컴퓨팅 최악이 많다(심지어 효율을 높이지도 못하면서) - 윌리엄 울프
(전체의 97% 정도인) 자그마한 효율성은 모두 잊자. 섣부른 최적화가 만악의 근원이다 - 도널드 크누스
최적화를 할 때는 다음 두 규칙을 따르라
첫번째, 하지 마라
두번쨰, (전문가 한정) 아직 하지 마라. 다시 말해, 완전히 명백하고 최적화되지 않은 해법을 찾을 때까지는 하지마라 - M.A. 잭슨
일반적으로 통용되는 명명 규칙을 따르라
복구할 수 있는 상황에서는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라
함수 인수(P50)
public SetupTearDownIncluder{
private StringBuffer PageContent;
...
}
...
1. 인수에 질문을 던지는 경우
boolean fileExists("MyFile"){
}
...
- 하나는 인수에 질문을 던지는 경우입니다.
- 예시로 boolean fileExists("MyFile")는 String형 파일 이름이 존재하는지 여부를 묻는 것을 알 수 있습니다.
- 다른 하나는 인수를 뭔가로 변환해 결과를 반환하는 경우입니다.
- 예시로 InputStream fileOpen("MyFile")은 String형 파일을 InputStream으로 변환한다는 것을 알 수 있습니다.
<br/>
- 이항(2개의 인수)의 경우 필요에 따라 인수를 추가할 수 있습니다.
```java
...
class Point{
1. 직교 좌표를 받는 경우
public Point(int x, int y){
this.x = x;
this.y = y;
...
}
}
class Main{
public goMap(){
Point targetPoint = new Point(124, 35);
...
}
}
...
독서 내용 간략 정리