객체 지향언어
class Car{
public int speed;
public vod speedUp() { speed+=10; }
System.out.println(객체); - > 클래스에 public String toString() { return "sdfsdfsdf + sdfsdf" } 이 것을 반환한다.
}
참조 변수와 대입연산
Car c1 = new Car1();
Car c2 = c1; - > 이중 참조를 한다. c1값이 바뀌면 c2도 같이 바뀐다 .
객체의 소멸
매소드 앞에 Static 있는것 없는것 차이는??
Static 이 있다면 -> 객체 생성없이 클래스명 : 매소드로 바로 호출가능하다.
없다면 - > 객체.매소드 형태로.
중복 메소드가 가능하다. 매소드 오버라이딩
public int s( int i)
public int s( double s)
전달값 개수나, 전달 형태가 달라야 가능하다.
설정자와 접근자를 만들어야 한다.
- 왜 사용하나? 잘못된 값이 넘어오면 필터해준다.// 필드값을 계산해서 할수있다.
자바에서는 멤버 변수를 선언과 동시에 초기화가 가능하다.
참조형 일경우 == 은 값 비교가 아니라, 주소값을 비교하는거다.
정적 메소드의 예.
- 클래스명.함수이름();
상수
static final int MAX= 350; 상수는 static 으로 해야하는게 좋다.
____________________________________________________________________________________________________________
오늘의 예제.
1. 분수 클래스를 만들자
1/2 +- 2/3 연산이 가능하도록 - > 7/6
Fraction
- 분자 : int
- 분모 : int
__________________
+Decimal() - > 소수로 변경 1/2 -> 0.5 로 표현.
+ADD() - > Fraction Add(Fraction F) 형태로 - > fr3= f1.Add(f2) ;
+Mult()
-GCD()
2. 이진 문자열 클래스.
- 2진 문자열을 1의 보수로 나타내기
- 1101 - > 0010
BinaryString
- binary : String
_______________________
+ Complement(1의 보수)
+ Compare(크기비교) : 1(자신이) 0(같다) -1(자신이 작다)
+ Plus()
+ Minas()
+print()
n1 = new BS("11" , true);
n2 = new BS("101", true);
b3= b1.plus(b2) 101 + 11 = 1000