본문 바로가기

IT自主学習 (2023.05.23~)

(49)
プログラミング自主学習 48日目 全体復習/Coding Test class Solution {     public String solution(String myString) {         String answer = "";         char[] temp = myString.toCharArray();         char ch;                  for(int i=0; i          if(temp[i]>='A'&& temp[i]           ch = (char)(temp[i]+32);           }else{            ch = temp[i];              }                    String a = String.valueOf(ch);           answer += a;         }   ..
プログラミング自主学習 47日目 Interface/Coding Test Interface(インタフェース) クラスではないが、抽象クラスと同様、抽象メソッドを持っている。 オブジェクトはinterfaceのメソッドを具体化(OVERRIDE)することができる。 クラス宣言時、implementsとインターフェース名を入力する。 package ch08.sec02; public interface RemoteControl { //public 추상 메소드 선언 public void turnOn(); MAX_VOLUME) { this.volume = RemoteControl.MAX_VOLUME; } else if(volume < MIN_VOLUME) { this.volume = RemoteControl.MIN_VOLUME; } else { this.volume = volume; } System.out.pri..
プログラミング自主学習 46日目 instanceof /抽象クラス(abstract)/sealed(JAVA 15) instanceof boolean result = object instanceof Classtype instanceofを通して、objectがどのClasstypeがtrueかfalseかをリータンする。 booleanにリータンするため、制御文ifとも相性が良い。 自動変換された、サーブクラスを元に戻して、また、元のサーブクラスを使用することができる。 package ch07.sec09; public class Person { //필드 선언 public String name; //생성자 선언 Person(String name){ this.name =name; } //메소드 선언 public void walk() { System.out.println("걷습니다."); } } package ch07.sec09; public cla..
プログラミング自主学習 45日目 Class確認問題/継承(Inheritance)/protected/タイプ変換/多態性(ポリモーフィズム・Polymorphism) Class確認問題 <メソッド宣言> login() =実引数が"hong"、"password"であれば、trueをリータンする。 logout() = idを受ければ、voidでid+"str"を出力する。 package ch06.exam; public class MemberService { String id; String password; boolean result; public boolean login(String id, String password) { this.id = id; this.password = password; if(this.id.equals("hong")&&this.password.equals("12345")) { result =true; } return result; } public void logo..
プログラミング自主学習 44日目 全体復習/アクセス修飾子/Getter・Setter/Singletone アクセス修飾 種類(Class, Field, Method, Constuctor) 範囲 pubilic どこでもオッケー (default) 同じパッケージ内 private 同じオブジェクト内 protectedは特殊なやつで、同じパッケージ内と継承したオブジェクトのみ使用可能。 今後、勉強するため、その際にまとめる。 OOTの原則である、カプセル化とも関係がある。 https://github.com/HyonHyonKOR/Thisisjava/tree/main/Chapter6/sec13 Getter・Setter 外部からオブジェクトのフィールドを勝手に読み、変更する場合、オブジェクトは壊れる。 例えば、自動車の速度は負数にはなれない。しかし、外部で負数に変更すれば、 オブジェクトのデーターの整合性(date integrity) が損なう。 Car myCar =..
プログラミング自主学習 43日目 final・constant/package・import final final 初期化して、プログラミングが実行される以上、修正できない値だ。 初期化パターン 1) フィールド宣言時初期化: final datatype fieldname = 初期値 2) コンストラクタで初期化 package ch06.sec11.exam01; public class Korean { //인스턴스 field final 선언 final String nation ="대한민국"; final String ssn; //인스턴스 필드 선언 String name; //생성자 선언 Korean(String name, String ssn){ this.name = name; this.ssn = ssn; } } Constant(定数) static final datatype fieldname = 初期値 staticである..
プログラミング自主学習 42日目 Method(overloading)/Instance Member/Static Member Method オーバーローディング 同じ名前のMethodに、パラメータのタイプ、個数、順序が異なるメソッドを宣言んすることだ。 <Library Class> package ch06.sec08.exam04; public class Calculator { //정사각형의 넓이 double areaRectangle(double width) { return width*width; } //직사각형의 넓이 double areaRectangle(double width, double height) { return width*height; } } package ch06.sec08.exam04; public class CalculatorExample { public static void main(String[] args) { //객체 ..
プログラミング自主学習 41日目 Constructor/method コンストラクタオーバーローディング 一つのクラスにコンストラクタを宣言する際には、一つ以上のコンストラクタを生成することができ、 Overloading(オーバーローディング)もできる。 Car(){ }; Car(String name) { }; Car(String name, int maxSpeed { }; しかし、オーバーローディングをすることで、重複コードが増える可能性もある。 Car(String model){ this.model = model; this.color = "은색"; this.maxSpeed = 250; } Car(String model, String color){ this.model = model; this.color = color; this.maxSpeed = 250; } Car(String model, Stri..