java 84

[JAVA] 인터페이스

추상화 메서드를 통해 공동 작업 시 규격을 잡아주는 역할 모든 메소드가 추상메소드인 경우 인터페이스는 객체를 만들지 못한다. 인터페이스는 모든 메소드가 추상 메소드라서 abstract를 따로 붙이지 않는다! - Main Class package chapter06.exam03.inter; public class Main { public static void main(String[] args) { Window win = new Window(); Linux linux = new Linux(); Mac mac = new Mac(); win.click(1); win.dbClick(2); linux.click(3); linux.dbClick(4); mac.click(5); mac.dbClick(6); //일반 메서..

JAVA 2021.03.24

[JAVA] 추상화

추상은 여러 객체의 공통되는 특성만을 추출한 것 추상화는 abstract 가 붙는다. 추상 클래스는 객체화가 불가능 하다. ( 단, 자식이 오버라이드 하여 사용 할 수 있음 ) 추상 클래스는 실체 클래스와 상속관계! - Main Class package chapter06.exam02.absmethod; public class Main { public static void main(String[] args) { Child drum = new Child(); //추상 메서드를 구현한 내용은 자식으로 오버라이드 받아 사용해야함 drum.세탁(); drum.헹구기(); drum.탈수하기(); //추상 클래스의 일반 메서드 호출 drum.건조하기(); } } - Child Class package chapter0..

JAVA 2021.03.24

[JAVA] 다형성, 프로모션

1. 다형성이란? 하나의 Type에 여러 객체를 관리 하는것 - Main Class package chap05.exam05.poly; public class Main { public static void main(String[] args) { // 5개의 클래스를 객체화 하여 useRoom 메소드를 호출 Child child1 = new Child(); child1.useRoom(); ChildOne child2 = new ChildOne(); child2.useRoom(); ChildTwo child3 = new ChildTwo(); child3.useRoom(); ChildThree child4 = new ChildThree(); child4.useRoom(); ChildFour child5 = ne..

JAVA 2021.03.24

[JAVA] 오버라이딩

1. 메소드 오버라이딩이란? 메소드 재정의라고도 한다. 부모에서 상속받은 메서드 자식에서 다시 정의 하는것을 말한다. 2. 정적바인딩이란? 객체의 타입이 컴파일러에 의해 컴파일 되는 시점에 결정되는 것 ex) private , final , static 3. 동적바인딩이란? 객체의 타입이 실행 중에 결정되는 것 ex) 상속의 오버라이딩의 예 4. super와 super() 생성자 super = 부모 클래스의 멤버를 지칭할 때 사용 super() = 부모 클래스의 생성자를 호출할때 사용 - Main Class package chap05.exam04.tune; public class Main { public static void main(String[] args) { MyCar car = new MyCar(..

JAVA 2021.03.24

[JAVA] Getter, Setter

- Getter : 값을 가져오는 메서드 - Setter : 값을 지정해 주는 메서드( 값 변경 할 때 사용) - Main Class package chap04.exam12.prv; import java.util.Scanner; public class Main { public static void main(String[] args) { // 전원켜기 , 전원 상태 보기, 팬 속도 보기, 팬 속도 조절 , 온도 확인 Computer com = new Computer(); //컴퓨터 객체 생성 System.out.println("전원을 켜시겠습니까? : (Y/N) "); Scanner scan = new Scanner(System.in); //사용자에게 입력받을 때 사..

JAVA 2021.03.24

[JAVA] 상속

1. 상속이란? 기존의 클래스를 재사용하여 새로운 서브 클래스 작성하는 것을 말한다. 멤버의 모호성을 없애기 위해 , 다중 상속은 허용 불가(한번에 다중 상속 불가 여러 대에 걸쳐는 가능) ex) 클래스 + extends + 상속받을 부모 클래스 이름 자식 클래스는 부모의 메소드를 상속받아 사용이 가능하지만, private멤버는 상속을 받을 수는 있지만 자식클래스에서 접근은 불가능하다. - Main Class package chap05.exam01.inherit; public class Main { public static void main(String[] args) { Person person = new Person(); //person 객체생성 /*Mamal의 메서드->Person은..

JAVA 2021.03.24

[JAVA] static 초기화, final , 상수선언

static final 은 절대 바꿀수 없는것을 의미한다 ( ex : 주민등록번호 ) static 영역은 클래스의 원본으로 주소가 이동되지 않는다. final 은 프로그램이 종료 될 때까지 바꿀수 없다. final 은 read only의 개념 - Main Class package chap04.exam08.sBlock; public class Main { public static void main(String[] args) { System.out.println("Monitor 속성 호출"); //company, model, price System.out.println(Monitor.conpany); System.out.println(Monit..

JAVA 2021.03.23

[JAVA] 객체화, Static

'.' 을 찍어서 불러온다. static 영역은 클래스가 있는 영역이다. 객체에서는 static 영역에 들어갈 수 없다. ( 이는 원본에 따로 표시한 내용을 복사본에서 볼 수 없는 것과 같다. ) 그래서 static 을 사용하기 위해서는 클래스로 접근한다. /* Main Class */ package chap04.exam07.sMember;public class Main { public static void main(String[] args) { Sub s = new Sub(); // 객체화 하는 이유 : 원본을 보호(복사) int result = s.multi(6, 4); // 정수를 넣어줘야함 변수 아님 System.out.println("답은 : " + result); S..

JAVA 2021.03.23

[JAVA] 생성자 오버로드, this 사용

- 생성자 오버로드 : 다양한 방법으로 객체 생성 가능 - 오버로딩은 철저히 사용자의 편의를 위해 만들어짐 - 인자값의 수나 타입이 달라야 한다. /* 생성자 오버로딩 */ package chap04.exam03.cons;public class Robot { public String name; public String goal; public Robot() { } public Robot(String name) { name=name; } public Robot(String name,String goal) { //객체화 하면 생성자가 가장 먼저 실행됨 System.out.println(" 음 ~ 칰힌 롸봐트 생성"); //초기화 name=name; goal=goal; } } /* 생성자 + this */ pa..

JAVA 2021.03.23