본문 바로가기

전체 글150

Java_Study 객체지향 프로그래밍_추상클래스 추상클래스란? - 추상 클래스로 인스턴스를 생성할 수 없다. - 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. abstract class 클래스이름 { // ... } 추상메서드 : 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것 /* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명한다. */ abstract 리턴타입 메서드이름(); - 추상 클래스로부터 상속받는 자손클래스는 오버라이딩을 통해 조상인 추상클래스의 추상메서드를 모두 구현해주어야 한다. abstract class Player { abstract void play(int pos); abstract void stop(); } class AudioPlayer extends Player { void play.. 2022. 7. 7.
Java_Study 객체지향 프로그래밍_다형성(polymorphism) 다형성이란? : 여러 가지 형태를 가질 수 있는 능력 : 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함 -> 조상클래스의 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 함. 상속관계에 있을 경우, 조상 클래스의 타입의 참조변수로 자손 클래스의 인스턴스를 참조하도록 하는 것이 가능 Tv t = new CaptionTv(); CaptionTv c = new CaptionTv(); Tv t = new CaptionTv(); - 둘 다 같은 타입의 인스턴스지만 참조변수의 타입에 따라 사용할 수 있는 멤버의 개수가 달라진다. 조상타입의 참조변수로 자손타입의 인스턴스를 참조할 수 있다. 반대로 자손타입의 참조변수로 조상타입의 인스턴스를 참조할 수는 없다. 참조변수의 형변환 - 상속 관계.. 2022. 7. 6.
Java_Study 객체지향 프로그래밍_제어자(modifier) 제어자란? : 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 접근제어자 pubilc, protected, default, private 그 외 static, final, abstract, native, transient, synchronized, volatile, strictfp 접근 제어자는 네 가지 중 하나만 선택해서 사용 가능 static - 클래스의, 공통적인 : static이 붙은 멤버변수와 메서드, 그리고 초기화 블럭은 인스턴스가 아닌 클래스에 관계 된 것이기 때문에 인스턴스를 생성하지 않고도 사용 가능 인스턴스 메서드와 static 메서드의 근본적인 차이는 메서드 내에서 인스턴스 멤버를 사용하는가의 여부에 있다. 제어자 대상 의미 static 멤버변수 - 모든.. 2022. 7. 6.
Java_Study 객체지향 프로그래밍 (패키지) 패키지 : 클래스의 묶음 클래스가 물리적으로 하나의 클래스파일인 것과 같이 패키지는 물리적으로 하나의 디렉토리이다. 하나의 소스파일에는 첫 번째 문장으로 단 한 번의 패키지 선언만을 허용한다. 모든 클래스는 반드시 하나의 패키지에 속해야 한다. 패키지는 점(.)을 구분자로 하여 계층구조로 구성할 수 있다. 패키지는 물리적으로 클래스파일을 포함하는 하나의 디렉토리이다. 패키지의 선언 package 패키지명; > 해당 소스파일에 포함된 모든 클래스나 인터페이스는 선언된 패키지에 속하게 된다. 패키지 지정 x -> '이름없는 패키지(unnamed package)'에 속함 패키지 생성 과정은 일단 생략. import 문 : 컴파일러에게 소스파일에 사용된 클래스의 패키지에 대한 정보를 제공 : 컴파일 시에 컴파일.. 2022. 7. 4.