[Java] 간단정리

J_Log·2023년 5월 22일
0

Java

목록 보기
2/6

Java

  1. iv(instance variable) : 인스턴스 변수, 클래스 전역에서 사용 가능한 변수(a, b)
  2. lv(local variable) : 로컬 변수, 선언된 블럭 안에서만 사용 가능
  3. cv(class variable) : 클래스 변수, 클래스 내에서만 사용 가능
  4. im(instance member) : iv를 사용하는 메서드

String 클래스

특성

  1. String 클래스는 char[] 와 메서드를 합친 것
  2. String 클래스는 내용을 변경할 수 없음

주요 메서드

  • char charAt(int index) : 문자열에서 해당 index에 있는 문자를 반환
  • int length() : 문자열의 길이 반환
  • String substring(int from, int to) : from부터 to까지 반환, to는 미포함
  • boolean equals(Object obj) : 내용이 같은지 확인
  • char[] toCharArray() : 문자열을 문자배열로 변환해서 반환

호출 스택(call stack)

메서드 수행에 필요한 메모리가 제공되는 공간

  • 아래에 있는 메서드가 위의 메서드를 호출한 것
  • 하나의 메서드만 실행 중, 나머지는 대기 상태(스택의 한계)

매개변수(parameter)

기본형 매개변수

x의 값을 바꾸는 메서드가 메모리에서 삭제되면서 변경된 x값도 없어지게 된다.(read only)

x의 값은 기본형 매개변수가 아닌 참조형 매개변수를 통해 바꿀 수 있다.

참조형 매개변수

참조형 매개변수를 이용하면 x의 값이 아닌, x의 주소를 가져오게 된다.

참조형 반환타입

참조형 반환타입은 객체의 주소를 반환한다.

메서드

인스턴스 메서드

  • 인스턴스 생성 후 '참조변수.메서드명()'으로 호출
  • 인스턴스 멤버(iv, im)과 관련된 작업을 하는 메서드
  • 메서드 내에서 iv, cv 사용 가능

Static 메서드

  • 객체 생성 없이 '클래스이름.메서드명()'으로 호출
  • 인스턴스 멤버와 관련 없는 작업을 하는 메서드
  • 메서드 내에서 iv 사용 불가, cv는 사용 가능

언제 메서드에 static을 붙여아 하나?

iv, im의 사용 유무

오버로딩(overloading)

오버로드의 조건

  1. 이름이 같아야 함
  2. 파라미터의 개수나 타입이 달라야 함
  3. 변환 타입은 상관 없음

파라미터는 다르지만 같은 작업을 수행하는 것이 좋다

long add(int a, long b) { return a+b; }
long add(long a, int b) { return a+b; }

// add(3, 3)  하면 ambiguous error

생성자(constructor)

  • 인스턴스가 생성될 때마다 호출되는 인스턴스 초기화 메서드
Time t = new Time();
t.hour() = 12;
t.minutes() = 30;
  • 인스턴스 생성 시 수행할 작업(iv 초기화)에 사용
Time t = new Time(12, 30);
  • 클래스와 이름이 같아야 한다.
  • 리턴값이 없다. (void x)
  • 모든 클래스는 반드시 생성자를 가져야 한다.

생성자 this()

생성자에서 다른 생성자를 호출할 때 사용

오버라이드

부모 클래스를 상속 받은 자녀 클래스가 부모 클래스의 메서드를 재정의하는 것을 말한다.

강의 출처: 남궁성의 정석코딩,
https://www.youtube.com/watch?v=LqCkLdlcC7M&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=68

profile
공부합시다

0개의 댓글