본문 바로가기

전체 글

(157)
정적(Static) 메서드 | 21/12/29 코드 작성 package ex_static; public class Ex2 { public static void main(String[] args) { /* * 정적(Static) 메서드 * * * [접근제한자] static 리턴타입 메서드명([매개변수...]) { * 실행문; * } * * * 클래스명.메서드([매개값...]); * */ // 정적메서드는 인스턴스 생성 전 클래스명을 사용하여 메서드 호출 가능 StaticEx2.staticMethod(); // 정적 멤버 메서드 호출 가능 //StaticEx2.normalMethod(); // 인스턴스 멤버 메서는 호출 불가능! // 인스턴스 생성 후 메서드 호출 StaticEx2 se ..
정적(Static) 멤버 변수 | 21/12/29 코드 작성 package ex_static; public class Ex1 { public static void main(String[] args) { /* * 정적(static) 멤버 변수 = 클래스 멤버 변수 * * * static 데이터타입 변수명[ = 초기값]; * * * 클래스명.변수명; * */ // StaticEx 클래스의 클래스 변수 a는 클래스가 메모리에 로딩될 때 함께 로딩되므로 // 인스턴스 생성 전에 메모리에 로딩되며, 인스턴스 생성 없이도 클래스명만으로 접근 가능한 멤버! System.out.println("StaticEx.a = " + StaticEx.a); //System.out.println("S..
추상클래스 활용2 | 21/12/27 코드 작성 package ex_abstract; public class Test2 { public static void main(String[] args) { //Truck truck = new Truck(); //truck.speedUp(); //truck.speedDown(); //truck.dump(); // //System.out.println("-------------------------"); // //Taxi taxi = new Taxi(); //taxi.speedUp(); //taxi.speedDown(); //taxi.lift(); //taxi.drop(); // //System.out.println("-------------------------"); // //Car car = taxi..
추상클래스(abstract) 활용 | 21/12/27 코드 작성 package ex_abstract; public class Ex2 { public static void main(String[] args) { SubClass sc = new SubClass(); // 접근 가능한 메서드 : 3개 // 상속받은 일반메서드 sc.normalMethod(); // middleClass 에서 구현한 추상메서드 sc.abstractMethod1(); // SubClass에서 구현한 추상메서드 sc.abstractMethod2(); // 추상클래스로 인스턴스 생성 불가 //AbstractClass ac = new AbstractClass(); //MiddleClass mc = new MiddleClass(); // 변수 타입으로 사용되어 업캐스팅 활용은 가능 Midd..
추상메서드(abstract) | 21/12/27 코드 작성 package ex_abstract; public class Ex1 { public static void main(String[] args) { /* * 추상클래스와 추상메서드 * 1. 추상메서드 * * [접근제한자] abstract 리턴타입 메서드명 ([매개변수...]); * * 2. 추상클래스 * ex) 용도 * - 공통된 필드와 메서드를 통일할 목적 * - 실체 클래스 구현 시 시간 절약 * - 규격에 맞는 실체클래스 구현 * * * [public] abstract class 클래스명 {} * */ //Shape s = new Shape(); // 에러발생! 추상클래스는 인스턴스 생성이 불가! Shape c = new C..
instanceof 연산자 | 21/12/23 코드 작성 package ex_type_casting; public class Ex1 { public static void main(String[] args) { /* * instanceof 연산자 * * * boolean 변수명 = a instanceof B * => a : 객체(참조변수) * => B : 클래스타입 */ Parent p = new Parent(); // if문을 사용하여 Parent 객체가 Child 타입으로 변환 가능 여부 판별 // => p is a Child에 대한 판별 수행 if (p instanceof Child) { // 판별 결과가 true이면 무조건 Child 타입으로 변환 가능 System.out.println("p -> Child 타입으로 형변환 가..
업캐스팅(Up Casting) 활용 | 21/12/22 코드 작성 package ex_type_casting; public class Ex1 { public static void main(String[] args) { // 업캐스팅 연습 // 1. 서브클래스 타입 인스턴스 생성 SmartPhone 내폰 = new SmartPhone(); // 서브클래스 타입으로 접근 가능한 메서드 : 4개 내폰.call(); // 상속받은 메서드 내폰.sms(); // 상속받은 메서드 내폰.kakaoTalk(); // 서브클래스에서 직접 정의한 메서드 내폰.youtube(); // 서브클래스에서 직접 정의한 메서드 System.out.println("----------------------------------------"); // 2. 슈퍼클래스 타입 변수 선언 및 서브클..
다형성(Polymorphism) 활용 | 21/12/22 코드 작성 package ex_polymorphism; public class Test1 { public static void main(String[] args) { // Circle 인스턴스 생성 Circle c = new Circle(); c.rad = 3; c.draw(); // Rectangle 인스턴스 생성 Rectangle r = new Rectangle(); r.line1 = 10; r.line2 = 20; r.draw(); // Triangle 인스턴스 생성 Triangel t = new Triangel(); t.a = 10; t.b = 20; t.c = 30; t.draw(); System.out.println("-------------------"); Shape s = c; // 업캐스..