본문 바로가기

Java193

05.02 상속, 다형성,protected 접근 제한자, 추상메소드 매개변수의 다형성을 이용하면 코드를 간결하게 줄일 수 있다. 그리고 기능을 개선할 때 실행클래스는 변경하지 않고 매개변수 교체만 해주면 된다는 장점이 있다.(부품객체관계...) package extends4_phone_example; // 1세대 일반 폰 public class Phone { public String model; public String color; public Phone() { super(); } public Phone(String model, String color) { this.model = model; this.color = color; } public void powerOn() { System.out.println("전원을 켭니다."); } public void powerOff(.. 2023. 5. 2.
Book 2023. 5. 1.
캡슐화 숙제 package encapsulation_obj_array.book; import java.util.Scanner; public class BookManagement { // 문자열 입력 private Scanner scanLine = new Scanner(System.in); // 선택번호 입력 private Scanner scanSelectnum = new Scanner(System.in); // 도서목록 private static Book[] books = new Book[100]; // 프로그램 실행 flag private boolean isRun = true; // 메인 메뉴 선택 번호 private int selectNo = 0; // 도서관리 번호 private int count = 1; pu.. 2023. 4. 28.
04.28 캡슐화 , 싱글톤, 상속 , 오버라이드 , 다형성 GETTER, SETTER, 클래스 작성시 거의 필수적으로 들어감. 필드정보 접근시 사용하는 메소드. 캡슐화(encapsulation) 캡슐화는 객체의 속성(Field)과 행위(Method)를 하나로 묶고, 외부로 부터 내부를 감싸 숨겨 은닉한다. 또한 외부의 잘못된 접근으로 값이 변하는 의도치 않는 동작을 방지하는 보호 효과도 누릴 수 있다. 자바에서는 대표적으로 protected , default , private의 접근 제어자를 통해 구현이 가능하다. 클래스 선언할 때 필드는 일반적으로 private 접근 제한 읽기 전용 필드가 있을 수 있음 (Getter의 필요성) 외부에서 엉뚱한 값으로 변경할 수 없도록 (Setter의 필요성) Getter: private 필드의 값을 리턴 하는 역할 - 필요할.. 2023. 4. 28.
0427 접근제한자 package static_test; class Student{ //정적멤버는 이탤릭체로 표현됨, //static : 고정된 위치에 저장된 공유자원이라고도 함. 필드랑 메서드만 사용 가능 //한군데서 변경하면 모든클래스에서 정보가 변경됨.변경된 정보가 공유된다. static String school; String name; int age; String grade; /* static메소드에서는 인스턴스멤버는 사용할 수 없다. 매개변수로 넘겨받은 값으로만 사용. * -> 인스턴스 멤버 필요 없을때는 static메소드 만들어서 사용하는게 좋다. //인스턴스 멤버 필요할때는 인스턴스 메서드 호출하기. static void sendAge() { System.out.println(this.name+"학생은 "+th.. 2023. 4. 27.
0427 실습 해설 package object_array_guide.account; public class Account { String ano; // 계좌번호 String owner; // 계좌주 int balance; // 잔고 String password; // 비밀번호 // 기본생성자 public Account() {} // 전체값을 넘겨받는 생성자 public Account(String ano, String owner, int balance, String password) { this.ano = ano; this.owner = owner; this.balance = balance; this.password = password; } public String toString() { return "Account[ ano.. 2023. 4. 27.