< Class method >
(1)
(2)
(+) parameter(매개변수)
다음 cancat 함수 정의에서 str1과 str2는 parameter .
def cancat(str1, str2):
return a +" "+ b
(+) argument(전달인자)
cancat 함수를 호출할 때, 입력값 “parameter”와 “argument”는 argument
cancat("parameter", "argument")
When Method( 10, 20) is invoked, parameter 10, 20 : real parameter in definition part, parameter sijak, keut : dummy parameter
– Note that each of the formal parameters must be preceded by a type name, even if there is more than one parameter of the same type. Corresponding arguments must match the type of their corresponding formal parameter, although in some simple cases an automatic type cast might be performed by Java.
동일한 유형의 매개변수가 두 개 이상 있더라도 각 형식 매개변수 앞에는 유형 이름이 와야 합니다.
해당 인수는 해당 형식 매개변수의 유형과 일치해야 하지만 일부 간단한 경우에는 Java에서 자동 유형 캐스트를 수행할 수 있습니다.
– For example, if you plug in an argument of type int for a parameter of type double, then Java will automatically type cast the int value to a value of type double.
예를 들어, double 유형의 매개변수에 대해 int 유형의 인수를 연결하면 Java는 자동으로 int 값을 double 유형의 값으로 유형 캐스트합니다.
– The following list shows the type casts that Java will automatically perform for you.
byte -> short -> int -> long -> float ->double
When parameter is variable or array
매개변수가 변수 또는 배열인 경우
배열은 바뀌지만 변수는 안바뀌지
a[0] : 11
a[1] : 13
a[2] : 15
a[3] : 17
a[4] : 19
b : 10
Two or more methods in the same class can have the same method name.
This is called overloading.
동일한 클래스에 있는 둘 이상의 메소드는 동일한 메소드 이름을 가질 수 있습니다.
Overloading occurs if several methods have the same name but different
parameters.
여러 메소드가 이름은 같지만 매개변수 타입이나 갯수가 다른 경우 오버로딩이 발생
Multiple methods can be defined within the same class, and they can be
called in the main class.
Overloading using different number of parameters by different number of method parameter
다른 수의 메소드 매개변수에 의해 다른 수의 매개변수를 사용하여 오버로딩
Overloading using different type of parameters by different parameter type (data type)
다른 매개변수 유형(데이터 유형)에 따라 다른 유형의 매개변수를 사용하여 오버로딩
(1) static :
declared within the class and outside the method can be accessed from anywhere within the subclass and main class ( = almost global variable )
(2) local :
declared within the method cannot be accessed outside the method
메서드 내에서 선언된 메서드는 메서드 외부에서 액세스할 수 없습니다.
int, float, double : 0
boolean : false
String : null
char : '\0'
className varName = new className(param1, param2, …);
– Class object varName is created by new operator.
– The className is the method and it is so called constructor.
– The constructor must have class name.
– The class field (class member) includes global variables
varName.methodName(...);
(ex) PanMae 클래스의 PanMae
(ex) PanMae in PanMae class
Since Java does automatic garbage collection, manual memory reclamation is not needed, and Java does not support destruction
Java는 자동 가비지 수집을 수행하므로 수동 메모리 회수
필요하지 않으며 Java는 파괴를 지원하지 않습니다.
PanMae pmae1 = new PanMae(“SaGwa”, 5, 1000);
Pmae1.PyoSi( );
execution of PyoSi() in PanMae class
SaGwa 5 1000
pmae.pmyung : SaGwa
pmae.sryang : 5
(+) 공유 개념을 들 수 있다. static 으로 설정하면 같은 곳의 메모리 주소만을 바라보기 때문에 static 변수의 값을 공유
(+) static 키워드 앞에 final이라는 키워드를 붙이면 된다. final 키워드는 한번 설정되면 그 값을 변경할수 없다. 변경하려고 하면 오류가 발생한다.
Method
Math.pow(x,y)
(+)
Public Employee(String name, double salary){
this.name = name;
this.salary = salary;
}
▪ this : 인스턴스 자신을 가리키는 참조 변수로 인스턴스의 주소가 저장되어 있다.
▪ this(), this(….) : 클래스 생성자에서 같은 클래스 내의 다른 생성자를 호출할 때 사용
한다. 이 때에는 반드시 첫 줄에서 사용되어야 한다
(1) this - 자기 자신 가리키는 용도
(2) this() - 생성자
format : this(param1, param2, …);
– The constructor calls another constructor of the same class.
같은 클래스에서 다른 생성자 호출할거야!!
– Call Only in constructor method (constructor)
– Be execute constructor method with same parameter type and number of parameter
매개변수 유형과 매개변수 개수가 동일한 생성자 메서드를 실행해야 합니다.
SaGwa 5 1000
Bae 3 2000
PoDo 7 500
(+) Array of Objects 객체 배열
참조 자료형으로 선언하는 배열로, 같은 참조 자료형의 객체만 저장된 배열
기본적인 사용 방법은 배열과 동일함
keyword extends :
Keyword super
: is for use in a subclass, indicate base class.
super(param1, param2, …);
(+) this 와 super
PanMae pmae = new SalePanMae(“Lemon”, 7, 3000, 0.22)
– Super class variable, array can have subclass object as value.
– In previous program, PanMae and SalePanMae are all jumbled together onPanMae object. In this case, datas aren’t processed well.
– It is solved by assigning subclass to super(base) class.
– 상위 클래스 변수, 배열은 하위 클래스 객체를 값으로 가질 수 있습니다.
– 이전 프로그램에서 PanMae와 SalePanMae는 모두 PanMae 개체에서 함께 뒤죽박죽
– 상위(기본) 클래스에 하위 클래스를 할당하여 해결합니다.
(+)
– A package is Java’s way of forming a library of classes.
– Package are convenient for organizing tour work and for separating your
work form code libraries provided by others
– is a collection of classes
– User-defined library, package is same #include ”… .h” in C/C++
– The name of Package file(pkgClass.java) must be same the name of
package class name
– pkgClass.java file must be directory of Package name
– 패키지는 클래스 라이브러리를 구성하는 Java의 방법입니다.
– '패키지'는 작업을 정리하는 데 편리합니다.
– For example, suppose the following is a directory listed in tour
CLASSPATH variable
c:\libraries
And suppose your package classes are in the directory
:\libraries\news\pkg
In this case, the package should be named
news.pkg
and all the classes in the file must start with the package statement
package news.pkg
(+)
(+) 다른 패키지에 있는 클래스 사용하기
import pkg.pkgClass;
import pkg.*;
IntFace x = new PanMae( ) ;
intf = pm ;
IntFace x = new PanMae;
in ClassAMethod( ) doesn’t execute interface method from construction of interface type object. But it is executed by transmitting corresponding object to method.IntFace x = 새로운 PanMae;
Principal CLASS
– Object class
`package java.lang;`
/ The root of the Class hierarchy. Every Class in the system has Object as its
ultimate parent. Every variable and method defined here is available in
every Object. /
public class Object {
public final native Class getClass();
/ Returns the Class of this Object. Java has a runtime representation for
classes- a descriptor of type Class- which the method getClass() returns for
any Object. /
public native int hashCode();
/ Returns a hashcode for this Object. Each Object in the Java system has a
hashcode. The hashcode is a number that is usually different for different
Objects. It is used when storing Objects in hashtables. Note: hashcodes can
be negative as well as positive. /
public boolean equals(Object obj)
{
return (this == obj);
}
/ Compares two Objects for equality. Returns a boolean that indicates
whether this Object is equivalent to the specified Object. This method is
used when an Object is stored in a hashtable. @return true if these Objects
are equal; false otherwise. /
– boolean isLowerCase(char ch);
returns true if ch represents a lower-case letter; otherwise it returns false.
– boolean isUpperCase(char ch);
returns true if ch represents a capital letter; otherwise it returns false.
– char toLowerCase(char ch);
returns the lower-case equivalent of ch if one exists; otherwise it returns ch.
– char toUpperCase(char ch);
returns the upper-case equivalent of ch if one exists; otherwise it returns ch.
– boolean isWhitespace(char ch);
returns true if ch represents a white-space character. otherwise it returns false.
Integer Class
```java
String s = Integer.toString(“63”, 16); // s <= “3F”
int n = Integer.parseInt(“123”); // n <= 123
Static Integer valueOf(String s)
The argument is interpreted as representing a signed decimal integer. The result is an Integer object that represents the integer value specified by the string.
int intValue( )
long longValue( )
– Integer(int I)
– Long(long l)
– Float(float f)
– Double(double d)