JAVA 데이터 크기
컴퓨터에 저장되는 정보의 최소 단위는 1bit이다.
컴퓨터는 0과 1로만 계산을 한다.
8bit | 1byte |
1024byte | 1kilobyte |
1024kilobyte | 1megabyte |
1024megabyte | 1gigabyte |
1024gigabyte | 1terabyte |
1024terabyte | 1petabyte |
JAVA 데이터 범위
byte (1byte) | -128 ~ 127 |
short (2byte) | -32,768 ~ 32, 767 |
int (4byte) | -2,147,483,648 ~ 2,147,483,647 |
long (8byte) | -9223372036854775808 ~ 9223372036854775807 |
상속
상속이란 물려주다는 의미를 뜻하며 java에서 상속(extend)를 하게 되면
A객체가 B객체를 상속했을 때 A객체는 B객체의 변수와 메소드를 그대로 물려받으면서 새로운 메소드나 변수를 만들어 사용할 수 있다.
즉, 부모의 메소드도 사용하고 자신이 만든 메소드도 사용을 한다.
중복된 이름의 메소드를 사용할 경우는 자기 자신의 메소드를 호출하게 되는데 이는 overriding 이라고 한다.
대체로 A --> B 로 표시하며 A는 B를 상속한다고 한다.
public class A extends B {
private String name;
public void setName(String name) {
this.name = name;
}
public void print() {
System.out.println("A name : " + name);
}
}
public class B {
private String name;
private int age;
// setter, getter
public void print() {
System.out.println("B name " + name + ", B age " + age);
}
}
public class main {
public static void main(String[] args) {
A a = new A();
a.setName("a");
a.setAge(30);
System.out.println(a.getAge());
a.print();
}
}
위 코드의 결과값은
30
A name : a
라는 결과가 호출된다.
overriding(재정의)
overriding 은 재정의라고 하여 부모클래스의 메소드를 그대로 사용하지 않고 부모클래스의 메소드를 재정의 해서 재사용 한다.
재정의 할 때 주의점으로는 부모 메소드의 리턴 형식과 자식 메소드의 리턴 형식과 이름은 같아야 한다.
매개변수 데이터 타입, 숫자와 리턴 타입 이름이 같아야 한다.
부모클래스 B에서 정의한 print() 메소드를 자식클래스인 A에서 print를 재정의해서 사용하고 있다.
public class A extends B {
private String name;
public void print() {
System.out.println("A name : " + name);
}
}
public class B {
private String name;
private int age;
public void print() {
System.out.println("B name " + name + ", B age " + age);
}
}
overloading
overloading은 같은 메소드 명으로 다른 매개변수의 갯수, 다른 매개변수 타입을 다르게 하는 것이다.
public class A{
private String name;
private int age;
private String phone;
public void print(String name, int age) {
System.out.println(name + ", " + age);
}
public void print(String name, int age, String phone) {
System.out.println(name + ", " + age + ", " + phone);
}
}
'JAVA' 카테고리의 다른 글
[Java] Jsoup 자바 웹 페이지 크롤링(HTML Parsing) (0) | 2020.06.18 |
---|---|
[JAVA] 자바 메소드 오버라이딩 오버로딩 차이 (0) | 2020.03.16 |
[JAVA] Java 비밀번호 정규식 / ID 동일문자 / 같은 문자 / 연속 문자 / 연속 숫자 공통 Util 소스 (1) | 2020.02.25 |
[JAVA] JDK 설치 및 JAVA_HOME 환경변수 path 설정 (Windows10 64bit) (0) | 2020.02.12 |
Java SHA-256 SALT 를 사용하여 비밀번호 암호화 (1) | 2019.12.25 |