JAVA/DAY 16 _ 23.09.07 (7) 썸네일형 리스트형 API _ String # isEmpty, isBlank if(str4.isEmpty()) {// String a = ""; 이거인 상태일때 true -> null이랑은 다르지!!! System.out.println("문자열이 비어있니?"); } if(str4.isBlank()) {// String a = " "; 이거인 상태일때 true System.out.println("문자열이 비어있는데 blank가 있니?"); } # length System.out.println(str4.length() + "이것은 길이를 확인하는 API"); # replaceAll (불변객체 -> 자기자신을 변수로 받으면 원본도 변경된다!!!) String s = str4.replaceAll("ell", "이걸로 바꾸겠어"); System.out.p.. 불변/가변객체1 // 불변 객체 (Immutable Object): // 불변 객체는 생성 후에 내부 상태(멤버 변수)를 변경할 수 없는 객체입니다. // 한 번 생성된 불변 객체는 그 값을 변경할 수 없습니다. // 예를 들어, Java에서 String 클래스는 불변 객체의 예입니다. // 불변 객체는 스레드 안전성을 보장하며 예측 가능한 동작을 제공합니다. String immutableStr = "Hello"; // 불변 문자열 객체 생성 immutableStr = immutableStr.concat(" World"); // 새로운 문자열을 반환하므로 원래 객체는 변경되지 않음 System.out.println(immutableStr); // "Hello World" 출력 //Java에서 불변 클래스로 사용자 정의하.. 불변/가변객체2 String str1 = "안녕"; String str2 = "안녕"; String str3 = new String("안녕2"); // --> 새로운 문자열 객체를 생성하는 방법 중 하나입니다. // --> 이 코드는 "안녕2"라는 문자열을 가진 새로운 문자열 객체를 생성하고, 그것을 str3 변수에 할당합니다. // --> 이 경우에는 항상 새로운 문자열 객체를 생성하게 됩니다. System.out.println(str3 + "str3"); String str4 = "Hello, 안녕, aa"; // String. --> static인것들이 보임(위에 s붙은 애들) // static인것들 : 함수다! 외부에서 입력받은 값으로 해결하는 애들 // static API들은 무조건 '클래스명.'으로 호출하기 .. 라이브러리 // 라이브러리 : // --> 프로그래밍에서 자주 사용되는 코드, 함수, 클래스, 모듈 또는 패키지의 모음 // --> 라이브러리를 사용하려면 해당 라이브러리를 프로젝트에 포함하고, 필요한 클래스 또는 함수를 가져와 사용하면 됨 // API검색했을 때 -> 초록색 : public, 위에 s : static, 위에 f : final // 예시 --> 저 API가 뭔지몰라도 쓸 수는 있겠찌. double d = Math.pow(5, 4); System.out.println(d); long a1 = Math.floorDiv(17, 2); System.out.println(a1); // math클래스의 필드에 있는 애들 System.out.println(Math.E);// static final : 완벽한 상.. Enum(열거형) // Enum // -> 열거형은 상수 집합을 나타내는 데 유용하며, 코드의 가독성을 향상시킬 수 있습니다. public enum Season { SPRING, SUMMER, FALL, WINTER } public static void main(String[] args) { // Season은 열거형이며, SUMMER은 Season 열거형의 상수 중 하나입니다. // currentSeason 변수에 현재 계절을 나타내는 값으로 SUMMER를 할당합니다. Season currentSeason = Season.SUMMER; System.out.println("Current season is " + currentSeason); if (currentSeason == Season.SUMMER) { System.o.. Class 설계원칙 // // // 캡슐화 & 정보의 은닉 // 응집도는 높이고, 결합도는 낮추자! // // 1. ★★★ 단일 책임 원칙 (SRP - Single Responsibility Principle) ★★★ 우선순위임! // : 각 클래스와 메소드들은 단 하나의 책임만 가져야 하며, 변경 이유는 하나여야 함. // --> for문안에 for문을 넣지 말자. 클래스를 만들어서 for안에 넣는 식으로 변경하기. (가능하다면) // // 2. 개방-폐쇄 원칙 (OCP - Open-Closed Principle) // : 소프트웨어 엔티티는 확장에는 열려 있고, 수정에는 닫혀 있어야 함 // // 3. 리스코프 치환 원칙 (LSP - Liskov Substitution Principle) // : 서브타입은 슈퍼타입으로.. Polymorphism활용_TV 1. Main public static void main(String[] args) { // 조립식 설정코드 TvFactory factory = new TvFactory();// 기본생성자로 불러오기. Tv tv1 = factory.create("Samsung");// 여기서 삼성을 엘지로 손수 바꿔줘도 되겠지만은..... Tv tv2 = factory.create("Lg"); // 실행코드 User user = new User(); user.setTv(tv2);// 여기에 tv1으르 넣는지 2를 넣는지에 따라 출력이 달라짐. user.watchTv(); } 2. TV(interface) // 자바 문법에서의 인터페이스? API들의 표준을 제공하는 것. // 1. 조립식 프로그래밍(-> 오버라이딩을 이용.. 이전 1 다음