아무튼 개발
article thumbnail
반응형
  • 상속

두 클래스는 부모가 서로 같아도 남남관계 -> 단일상속이므로
super는 생성자 내 선두에 위치해야 함(자신보다 부모가 더 먼저니까). 한번만 작성


  • override

어노테이션
반드시 ★상속관계★ 내에서 같은 역할을 하는 메소드명을 동일하게 하는 작업
메소드명은 부모 메소드명과 똑같아야 함
부모 클래스를 재정의해서 사용함

부모 클래스
자식 클래스

내용은 다르지만 출력 기능이 같으므로 메소드명을 write로 통일
-> 서로 다른 결과
(부모와 자식이 같은 것을 가지고 있으면 자식 자신 것을 사용)
cf) 오버로딩 : 하나의 class
오버라이드: 상속관계

마우스로 오버라이드 기능 사용
: 오른쪽 마우스 -> Source -> override/~ 클릭

자식 클래스에서 하단에 추가로
super.write();
는 부모의 메소드 출력된다.

  • 오버로딩/기본 생성자

Circle은 오버로딩 생성자 / Rect는 기본 생성자이다.
이에 따라 각 초기화 값의 입력 위치가 다르다는 것을 알 수 있다.

  • Object

모든 클래스의 최상위 부모
Class가 자료형이듯 object도 자료형

주로 다루는 메소드인
equals: 문자 내용이 똑같은 지 비교
toString : 값을 그대로 문자화
+ hashcode: 객체가 저장되어 있는 첫번째 주소

  • String

클래스이다. 자료형 아님!(자료형처럼 사용하기는 하지만)

String ob1 = "Notebook"; //<-자료형처럼 생성
String 0b2 = "Notebook";
String 0b3 = new String ("Notebook");

System.out.println("ob1 == ob2 : " + (ob1 == ob2)); //true
System.out.println("ob1==ob3: " + (ob1==ob3));//false
System.out.println("ob1.equals(ob3): " + ob1.equals(ob3));//true

ob1과 ob2가 같은 이유?
String 문자열이 똑같으면 추가로 만들지 않고, 주소를 공유한다.

ob2 = "korea";
. . .
ob2 = "usa";

새롭게 String값을 넣을 때마다 기존의 경로를 끊고 새롭게 저장
String은 기존 데이터 수정, 삭제가 안된다.
만들 때 마다 새로운 공간(번지)를 만들어 경로를 바꾼다.

  • StringBuffer, StringBuilder

System.currentTimeMillis
System.nanoTime
둘 중에서 nanoTime이 더욱 잘게 쪼개짐.

StringBuffer는 동기화 지원
StringBuilder는 동기화 지원x
-> 출력 속도) String<StringBuffer<StringBuilder
StringBuffer는 동기화하느라 속도 더욱 느려진다

둘 다 생성할 때 클래스이기 때문에
StringBuffer sb = new StringBuffer(); 형식으로 해줘야 함!
String str = "abc"; 와 다름

String은
A
AA
AAA
처럼 누적된다면
위의 두 메소드는 AAAA로 나열된다는 차이점이 있다.

append는 문자 누적!


  • String의 여러 메소드

1. split
ex. split(","); 은 ,를 기준으로 나열

2.equalsIgnoreCase
대소문자 비교하지 않고 문자값 비교

3.indexOf
indexOf: 인덱스 번호
lastindexOf: 뒤에서부터 인덱스 번호
indexOf("A"): A가 시작하는 위치부터
indexOf("b"): b가 없는 문자열이라면 -> -1

4.replaceAll
replaceAll("A","a") : A를 a로 바꿔줌

5.trim
문자열이 " a b c "라면 양옆의 공백을 지워줌

6.charAt
charAt(2): 2번째 인덱스의 문자값 불러옴

7.compareTo
아스키값으로 비교

++
printf처럼
String.format도 같은 형식!
ex)
String.format("%d",num); 이 가능하다



반응형
profile

아무튼 개발

@릴쥬

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...