package(패키지) 기능이 비슷한 클래스를 모아서 관리하기 쉽게 하기 위해 /package 외부에서 접근하는 것을 막을 때 사용 윈도우에서 폴더 기능이랑 비슷하다. 접근하는 방법 class full name을 알아야 한다. 접근권한을 알아야 한다. (public) import 구문을 이해해야 한다. 클래스의 이름은 2가지이다. (.ex) 기본이름 : MyClass 패키지를 포함한 이름( class full name) : kr.tpc.MyClass 💡 package 내부에 있는 클래스의 접근권한이 생략되면 기본적으로 default 접근권한을 가진다. default 접근권한 package 내부에 있는 클래스에게는 public 접근권한 package 외부에 있는 클래스에게는 private 접근권한
객체지향 프로그래밍의 3대 특징 정보은닉(Information Hiding) 상속(Inheritance) 다형성(polymorphism) message polymorphism(다형성) 상속관계에 있는 클래스에서 상위클래스가 동일한 메시지로 하위클래스들을 서로 다르게 동작시키는 객체지향 원리(개념) 다형성 이론의 전제조건 상속관계가 되어야 한다. 객채생성을 upcasting으로 할 것(상위클래스가 하위클래스에게 메시지를 보내야 하므로) 하위클래스가 반드시 재정의(override)해야 한다. (다형성이 보장되기 위해서는) 동적 바인딩을 통해 실현된다. → 실행시점에서 사용될 메서드가 결정되는 바인딩, 프로그램의 속도를 떨어뜨리는 원인 추상클래스와 인터페이스의 공통점 다형성을 보장하기 위해서 등장 객체를 생성..
Object class 모든 클래스의 root 클래스 최상위 클래스(상속관계에서) Object 클래스를 잘 활용하면 프로그램을 유연하게 만들 수 있다. Object class를 이용한 객체 생성 Object obj = new A(); //obj.display X A a = (A)obj; a.display();
인터페이스(규약)와 JDBC의 관계 Java에서 JDBC프로그래밍을 하기위해서는 벤더에서 제공하는 클래스를 이용해야 한다. 벤더에서 제공하는 클래스가 통일되어 있지 않으면 자바 개발자들은 모든 데이터베이스의 동작을 알고 있어야 JDBC프로그래밍이 가능하다는 의미이다. → 사실상 불가능 하다.
추상클래스와 인터페이스 추상클래스(abstract class) 서로 기능이 비슷한 클래스의 공통부분을 묶을 때 사용 구현 메서드와 추상 메서드를 함께 가질 수 있다. 50% 디자인(설계), 50% 구현 extends keyword 사용 구현 메서드를 가질 수 있다. 인터페이스(interface) 서로 기능이 다른 클래스의 공통부분을 묶을 때 사용 100% 추상 메서드로 이루어진다. 100% 디자인(설계), 규약 implements keyword 사용 구현 메서드를 가질 수 없다. 다중상속 형태를 지원한다. final static 멤버변수를 가질 수 있다. 공통점 다형성을 보장하기 위해서 등장 객체를 생성할 수 없다. (new X) 하위 클래스에 의해 구현되어야 한다.(override : 재정의 필수) 부..
다형성 상속관계에 있는 클래스에서 상위클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체지향 원리(개념) 💡 override를 통해 하위 클래스를 접근할 수 있다. 💡 하위클래스의 동작방식을 알 수 없어도 상위클래스를 통해 하위클래스를 구동 시킬 수 있다. 다형성 이론의 전제조건(부모 클래스 활용) 상속관계가 되어야 한다. 객체생성을 upcasting으로 할 것(상위 클래스가 하위클래스에게 메시지를 보내야 하므로) 하위클래스가 반드시 재정의(override)해야 한다.(다형성이 보장되기 위해서는) 동적 바인딩을 통해 실현된다. 실행시점에서 사용될 메서드가 결졍되는 바인딩, 프로그램의 속도를 떨어뜨리는 원인이 된다.) 💡 다형성 배열 - 서로 다른 하위 클래스를 담을 수 있다.