반응형 전체 글 (294) 썸네일형 리스트형 자바 - 클래스의 메소드 오버라이드 못하게 하는 법 (final 키워드) 설계한 클래스를 상속은 가능하지만 해당 클래스의 특정 메소드만 수정(오버라이드)를 금지하고 싶을 때, final 키워드를 사용한다. 예시: final 키워드 없는 메소드class Phone { public void charge() { System.out.println("충전"); }}Phone 클래스는 charge() 메소드를 지닌다.Phone 클래스를 상속한 클래스들은 charge() 메소드를 사용할 수 있고 charge() 메소드를 오버라이드 할 수 있다. 만약 Phone 클래스를 설계한 개발자가 Phone 클래스의 charge() 메소드 코드를 상속한 클래스에서도 동일한 charge() 메소드 코드로 유지시키고 싶으면 final 키워드를 삽입하면 된다. 예시: final 키워.. 에어팟 프로 2 개봉기 및 사용기 에어팟 프로 1세대를 사용한 지 3년 반인데... 현재 겪는 문제이번 년부터인가 많이 떨어트려서 그런지 왼쪽에서 볼륨이 높으면 틱틱? 소리가 나고 특히 차를 타면 엄청 심해서 사용하기 불편했다.본체 배터리가 빨리 닳는 거 같아 자주 충전함.가끔 한쪽이 충전이 안 되어있음.문제들을 고치기 위해 수리는 아닌 거 같아서 차라리 볼륨 조절 기능도 있는 에어팟 프로 2세대를 구매를 했다. 쿠팡에서 286,620원에 구매했다 (아마 세일을 안 했으면 안 샀을 터). 뭔가 1세대와 비슷한 박스 외관. 구성품은 에어팟 프로 2세대, C to C 케이블, 이어팁이다. 생산된 지 2개월 된 물품. 외관 차이는 아랫부분에 스피커와 옆에 랜야드 루프 걸이가 추가됐다.그리고 충전 포트가 C 타입이다. 쿠팡.. 자바 - 문자열에서 문자열 추출하기 (substring() 메소드) 문자열의 substring() 메소드로 원하는 문자열을 추출할 수 있다.주의할 점은 문자열 추출 시, 기존 문자열을 변경하지 않고 추출할 문자열만 반환한다. 특정 인덱스부터 끝까지 문자열 추출하기public class SubstringExample { public static void main(String[] args) { String str = "hello world"; System.out.println(str.substring(1)); // ello world System.out.println(str); // hello world }}substring() 메소드의 첫 번째 인수는 추출 시작 인덱스를 의미한.. 자바 - 클래스 상속 못하게 하는 법 (final 키워드) 자바는 객체 지향 프로그래밍 언어이기 때문에 상속은 아주 중요한 특징이다.하지만 내가 설계한 클래스를 다른 코드에서 사용할 수 있게 하고 상속만 못하게 하고 싶은 경우가 있다.이럴 때, final 키워드를 활용하면 된다. final class Apple { }// class NewApple extends Apple { } error: cannot inherit from final Apple위와 같이 Apple 클래스를 final로 정의했더니 NewApple 클래스는 Apple 클래스를 상속 할 수 없다. 그러면 상속을 못하게 하는 이유는 무엇일까?1. 설계한 클래스만 사용할 것을 강제하고 싶을 때 (상속을 하면 자식 클래스에서 부모 클래스의 코드를 수정(오버라이드) 및 새로운 코드 추가 가능).2. .. 자바 - 문자열에서 특정 문자/문자열 찾기 (indexOf() 메소드) 문자열의 indexOf() 메소드는 문자열에서 찾으려는 문자/문자열의 인덱스를 반환한다. 특징 1 - indexOf() 메소드의 반환 값의 의미public class IndexOfExample { public static void main(String[] args) { String str = "hello world"; System.out.println(str.indexOf("lo")); // 3 }}str이라는 변수의 "hello world" 값에서 "lo"라는 문자열은 인덱스 3에 위치하기 때문에 3을 반환. 특징 2 - 문자열에서 찾으려는 문자/문자열이 존재하지 않을 경우public class IndexOfExample { public static void m.. 자바 - 다운캐스팅 사용 이유 public class DownCastingExample { public static void main(String[] args) { Role warrior = new Warrior(); Role mage = new Mage(); warrior.attack(); // 공격 mage.attack(); // 공격 // mage.heal(); 에러: heal()라는 메소드 없음 }}class Role { public void attack() { System.out.println("공격"); }}class Warrior extends Role {}class Mage extends Role { public .. 자바 - 리스트 선언 시, 요소 값을 넣어 초기화하는 법 public class ListExample { public static void main(String[] args) { int[] array = { 1, 2, 3 }; }}위와 같이 배열은 선언 시, 원하는 요소를 넣을 수 있지만 리스트는 불가능하다. import java.util.List;import java.util.Arrays;public class ListExample { public static void main(String[] args) { List listOne = List.of(1, 2, 3); List listTwo = Arrays.asList(10, 20, 30); System.out.println(listOn.. 자바 - Child obj = new Child()와 Parent obj = new Child() 차이 (feat. 업캐스팅) 업캐스팅 예시import java.util.ArrayList;import java.util.List;public class UpCastingExample { public static void main(String[] args) { ArrayList listOne = new ArrayList(); // 일반적인 객체 생성 List listTwo = new ArrayList(); // 업캐스팅을 한 객체 생성 System.out.println(listOne.getClass()); // class java.util.ArrayList System.out.println(listTwo.getClass()); // class java.ut.. 이전 1 2 3 4 ··· 37 다음