Java

Java

[JAVA] 상속

상속 (Inheritance) 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 구현한다. 기존의 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 상속을 이용함. 기본 문법 (Parent 클래스를 상속받은 Child 클래스) extends 키워드 뒤에는 단 하나의 클래스만 올 수 있음 (단일 상속) class Child extends Parent{ //필드 //메서드 } 상위 클래스 : 하위 클래스보다 더 일반적인 개념과 기능을 가짐 하위클래스 : 상위 클래스보다 더 구체적인 개념과 기능을 가짐 하위 클래스가 상위 클래스의 속성과 기능을 확장(extends) 자식클래스 Child에서는 부모클래스 Parent의 메서드와 멤버변수 등을 ..

Java

[JAVA] static과 final

static 키워드 : 공통으로 사용하는 변수가 필요한 경우 사용 여러 인스턴스가 공유하는 기준값이 필요한 경우 인스턴스가 생성될 때 만들어지는 변수가 아니고, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 클래스 변수, 정적 변수라고 도 함 ( 인스턴스 변수 ) 인스턴스 생성과 상관없이 사용하므로 클래스 이름으로 직접 참조 1. static 변수 ex) 학생이 생성될때마다 학번을 1씩 증가시켜서 저장해 줌 public class Student { private static int studentNum=10000; private int studentName; private int studentID; // Student 객체를 생성할 때마다 studentNum++ 하여 studentID로 설정해준다. p..

Java

[JAVA] 접근 제어 지시자( private, protected, default, public) / 정보은닉, 캡슐화

1. 접근 제어 지시자(access modifier) 클래스 외부에서 클래스의 멤버변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 public > default > protected > private public : 클래스의 외부 어디에서나 접근 가능 default : 같은 패키지 내부에서만 접근 가능 protected : 같은 패키지나 상속관계의 클래스에서 접근 가능 / 그 외에서는 접근 불가 private : 같은 클래스 내부에서만 접근가능 2. get() , set() 메서드 private으로 선언된 멤버 변수에는 접근할 수 없다. >> 접근, 수정할 수 있는 메서드를 public으로 제공 get() 메서드만 제공되는 경우 : read-only field 이클립스에서 [shift ..

Java

[JAVA] 생성자 / 오버로딩(overloading)

1. 생성자 (Constructor) 생성자 : 사용할 클래스의 변수를 미리 초기화해준다. 매개변수, 구현부가 없다. this.(필드명) : Car 클래스 내의 필드 default 생성자 : 클래스에 생성자를 구현하지 않아도 new 키워드로 생성자를 호출할 수 있음. - 클래스에 생성자가 하나도 없어도 컴파일러가 default 생성자 코드를 넣어준다. - public Car(){ }; class Car{ public String color; public int speed; //default 생성자 public Car(){} //생성자 Car(String color, int speed){ this.color = color; this.speed = speed; } } main에서 호출할 때 - 방법 1 pu..

Java

[Java] StringTokenizer

StringTokenizer 문자열을 지정된 구분자를 기준으로 나눠주는 클래스이다. 구분자로 나눈 결과물들을 Token이라고 한다. ex) 010-1234-5678에서, 010, 1234, 5678 온 Token이고, ‘-’은 구분자이다. 1. 생성자 StringTokenizer(String str) default 구분자를 이용한다. default 구분자는 공백이다. ( 띄어쓰기" " 또는 \t, \n, \f, r 등 ) StringTokenizer(String str, String delim) 지정해 준 구분자로 문자열을 분리 delim : delimiter의 약자 StringTokenizer(String str, String delim, boolean returnDelims) returnDelims=..

Java

[Java] Optional<T> 클래스

Optional Java8부터 Optional 클래스를 사용해 NPE(Null Pointer Exception)을 방지할 수 있다. 만약 null이면 안 되는 어떤 값을 검사해야 할 때, if 문들 사용해서 "null일 때는 어떻게 하고~ null이 아니면 어떻게 하고~"를 일일이 작성해야 하는 불편함이 있었다. Optional 을 사용하면 이 부분의 코드를 간결하게 바꿀 수 있다. Optional 이란? Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스이다. Optional로 설정된 값을 참조하더라고 NPE가 발생하지 않도록 도와준다. 즉, 예상치 못한 NPE 예외 발생을 피할 수 있어 권장되는 방법이라고 한다. Optional 객체 생성 of() 또는 ofNullable()을..

Java

[Java] String 클래스, 관련 메소드

1. String형 변수 선언 String str1 = new String("hello");//힙 메모리에 인스턴스로 생성됨 String str2 = "hello";//상수 풀(constant pool)에 있는 주소를 참조 힙 메모리에 생성되는 str1은 생성 될때마다 다른 주소값을 가진다. 상수풀의 문자열은 모두 같은 주소값을 가진다. // 힙 메모리의 인스턴스로 생성 String str1 = new String("hello"); String str2 = new String("hello"); System.out.println(str1 == str2);//false System.out.println(str1.equals(str2));//true //상수 풀의 주소를 참조 String str3 = "abc..

Java

[JAVA] Object 클래스_toString() 메서드

toString() 객체의 정보를 String으로 바꿔서 사용 String, Integer 클래스는 이미 재정의 되어있음 이클립스에서 [ shift + alt + s ] - Generate toString()... 로 자동 생성 가능 class Car{ String color; int num; public Car(String color, int num) { this.color = color; this.num = num; } //toString() 오버라이딩 @Override public String toString() { return "Car [color=" + color + ", num=" + num + "]"; } } public class Test { public static void main(St..

HSRyuuu
'Java' 카테고리의 글 목록 (3 Page)