Android/자바 특강.

특강 3일차 - 클래스 만들자.

gandus 2010. 6. 30. 09:54

객체 지향언어

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