예제)
public class PrintlnMethod {
public static void main( String[] args ) {
// println()를 이용해 다른 값을 출력
System.out.println( 3 );
System.out.println( 3.14 );
System.out.println( 'c' );
System.out.println( "gemini" );
// System : class명 / out : static맴버
}
}
자료형
1) 기본형 : 값 넘기는 call by value
int a=5;
float f=4.5;
…..
methodA(a,f); // methodA 실매개변수 호출 : call by value
methodA(int b, float g) { // methodA 형식매개변수 호출 : call by value
……..
}
2) 합성형 : 주소 " call by reference :객체 시작번지값 전달
class A {
int a;
int b;
}
……
A obA = new A(); ………
methodA(obA) // methodA 호출
상속성
JDK에서 최상위 class = object class (rt.jar>java.lang>object class)
(object class->) A class-> B class
상속 O : 맴버함수,data맴버
상속 X : 생성자,private
object class : 번지 타입 = object 정의
A class : 번지 타입 = object , A class 정의
B class : 번지 타입 = object , A class, B class 정의
object의 자동형 변환 (번지타입에 따라서 번지값을 치환할 수 있다.)
하위class형에 담긴 객체의 번지는
상위class형의 참조 변수에 번지 값 치환 할 수 있다.
o : A class -> object class
o : B class -> A class
번지값 치환 (강제형 변환) => cast연산자 활용
x : object class -> A class
x : A class -> B class
다형성 구현
오버로딩(overloading) : 중복함수
같은 클래스 내에 같은 이름의 생성자나 메소드(맴버함수)를 사용하는 행위
매개변수의 개수와 타입이 달라야 한다!
매개변수의 개수와 타입이 일치하는 형태로 수행조건이 자동적으로 넘어간다.
단,매개변수의 개수가 같고 타입만 다를 경우는 X !
오버라이딩(overriding) : 재정의
상속관계에 있는 클래스들간
함수의 머릿부는 반드시 일치해야 한다.
매개변수의 개수와 타입이 같아야 한다.
O = private -> default (생략의 경우) -> protected -> public
x = public -> protected -> default (생략의 경우) -> private
예제)
Object : public void String toString(){ //함수의 재정의
AA : public void String toString(){}
BB : public void String toString(){}
CC : public void String toString(){}
}
//public는 바뀔수있다.
'새로워지기 > 서른의 생활코딩' 카테고리의 다른 글
ex11) java_oop (0) | 2012.02.21 |
---|---|
ex10) java_oop (0) | 2012.02.21 |
ex9) java_oop (0) | 2012.02.16 |
ex8) java_oop (0) | 2012.02.16 |
ex7) java_oop (0) | 2012.02.16 |
댓글