목록JAVA (101)
Frog is cry
package day21.ex02_super; public class Student extends People{ public int studentNo; // 아래는 자식 클래스의 명시적 생성자임 public Student(String name, String ssn, int StudentNo) { super(name, ssn); this.studentNo = StudentNo; } } package day21.ex02_super; public class Student_Ex { public static void main(String[] args) { Student std = new Student("홍길동", "123456-1234567", 1); System.out.println("name : " + std..
package day21.ex01_extends; public class CellPhone { //필드 String model; String color; //생성자 없음 //메소드 void powerOn() {System.out.println("전원을 켭니다.");} void powerOff() {System.out.println("전원을 끕니다.");} void bell() {System.out.println("벨이 울립니다..");} void sendVoice(String message) {System.out.println("자기 :" + message);} void receiveVoice(String message) {System.out.println("상대 :" + message);} void h..
인터페이스와 추상클래스의 차이를 알아보자 ! 설명 : 클래스는 크게 일반 클래스와 추상 클래스로 나뉘는데 추상 클래스는 클래스 내 '추상 메소드'가 하나 이상 포함되거나 abstract로 정의된 경우를 뜻한다. 반면 인터페이스는 모든 메소드가 추상 메소드인 경우입니다. ★★★★★ (JAVA8 에서는 defalt 키워드로 일반 메소드의 구현도 가능) 추상 클래스와 인터페이스는 상속받는 클래스 혹은 구현하는 인터페이스 안에 있는 추상 메소드를 구현하도록 강제한다. Q&A : 둘 다 추상 메소드를 구현하는 일을 하는데 굳이 왜 둘다 필요한지? 우선 인터페이스와 추상 클래스는 존재 목적이 다름. 1. 추상 클래스는 그 추상 클래스를 상속받아서 기능을 이용하고, 확장시키는데 있음. 2. 인터페이스는 함수의 껍데기..
오버로딩 package day20.ex05; public class Printer { void println(int a) { System.out.println(a); } void println(boolean a) { System.out.println(a); } void println(double a) { System.out.println(a); } void println(String a) { System.out.println(a); } } package day20.ex05; public class Printer_Ex { public static void main(String[] args) { Printer printer = new Printer(); printer.println(10); printer.p..
package day20.ex04_getter_setter; public class Account { private int balance; public static final int MIMI_BAL = 0; public static final int MAXI_BAL = 1000000; public int getBalance() {// 게터 메소드를 이용해서 필드에 있는 값을 가져오는 역할을함 // 이 메소드를 호출하면 현재 balance필드에 저장된 값을 읽기참조할 수 있습니다. return balance; } public void setBalance(int balance) {// 세터 메소드 // 이 메소드를 매개변수값과 함께 호출하면 // 매개변수의 값이 요구사항에 적합한 값인지 필터링(사전검사)하여..
package day20.import1.myhouse; import day20.import1.house1.BigRoom; import day20.import1.house1.SmallRoom; import day20.import1.house2.LivingRoom; import day20.import1.house3.ShowRoom; public class Room { SmallRoom r1 = new SmallRoom(); LivingRoom r2 = new LivingRoom(); ShowRoom r3 = new ShowRoom(); day20.import1.house1.BigRoom br1 = new day20.import1.house1.BigRoom(); day20.import1.house2.BigRo..
자동 타입 변환, 다형성, 강제타입변환, instanceof, 인터페이스 상속 인터페이스도 메소드 재정의와 타입 변환되므로 다형성을 구현할 수 있다. 인터페이스의 다형성 > 인터페이스 사용 방법은 동일하지만 구현 객체 교체하여 프로그램 실행 결과를 다양화 자동 타입 변환(promotion) > 구현 객체와 자식 객체는 인터페이스 타입으로 자동 타입 변환 된다. 필드의 다형성 자동차는 타이어 인터페이스를 이용해서 동일한 방법으로 금호 타이어를 사용. 구현객체1(한국타이어), 구현객체2(금호 타이어) 이후 자동차 객체에서는 필요한것만 꺼내서 사용가능 매개변수의 다형성 >어떤 객체가 대입됐냐에 따라서 결과가 바뀌는 매개변수의 다형성 강제 타입변환(casting) > 구현 객체가 인터페이스 타입으로 자동 변환하..
package day19_ex03_final; // static final public class Earth { static final double EARTH_RADIUS = 6400; static final double EARTH_SURFACE_AREA; static { EARTH_SURFACE_AREA = 4 * Math.PI * EARTH_RADIUS * EARTH_RADIUS; } } package day19_ex03_final; public class Earth_Ex { public static void main(String[] args) { System.out.println("지구의 반지름 : " + Earth.EARTH_RADIUS + "km"); System.out.println("지구의 ..