본문 바로가기
학과 공부/컴퓨터프로그래밍2(자바)

4/4

by sonysame 2018. 4. 4.

Overlapping segments


boolean isHit(Rectangle r){

return isOverlapping(x, x+w, r.x, r.x+r.w)&&isOverlapping(y, y+h, r.y, r.y+r.j)


}




java knows the type of variable


parameter는 다르게 같은 이름으로 method를 만들 수 있따!



public static void test(Rectangle r) {

System.out.println("Rectangle");

}

public static void test(Rectangle c) {

System.out.println("Circle");

}



parameter의 type이 같은  같은 이름의 method -> 에러


parameter갯수 달라도 다른 것!

order도 다른것도 다른것!


public static void test(Rectangle r, Circle c){

}


public static void test(Circle c, Rectangle r){

}


은 다른것이다!



public static void test(){

}

public static void test(int x){

}


public static void test(long x){

모두 다른것


 test(1)을 하면 int로! ->more fit!

test(1L)을 하면 long으로!


integer:32 bit long: 64bit



이게 바로 method overloading!



1. double max(double x, double y){}

2. int max(int x, int y){}

----------------------------------------------


3. int max(double x, double y){}

4. double max(int x, int y){}


java doesn't consider return type 

1번과 3번은 같은 method로 인식

2번과 4번 같은 method로 인식!


why class is so important in oop

class makes complex computations look simpler and easier to understand->abstraction


public classes could be reused in different applications


naming convention: 파일명과 public class의 이름같다!



Math.sin(Math.PI)은 0이 안나오고 엄청나게 작은 값이 나온다!(오차에 의해!)


class(Scanner)와 argument(Stdin)를 사용해서 입력받음

nextInt라는 method를 사용해서 int를 입력받기를 기다림!


nextInt는 인자가 없기 때문에 overload불가!


JAVA with two classed

public class





package javaclass0404;


class Sample{

private int data_field;

}

public class Test {


public static void main(String[] args) {

// TODO Auto-generated method stub

Sample x=new Sample();

x.data_field=1;

System.out.println("field = "+x.data_field);

}

}



'학과 공부 > 컴퓨터프로그래밍2(자바)' 카테고리의 다른 글

4/11  (0) 2018.04.11
4/9  (0) 2018.04.09
4/2  (0) 2018.04.02
3/28  (0) 2018.03.28
3/26  (0) 2018.03.26