목록Java (181)
충분히 쌓여가는
참조변수의 형변환 사용할 수 있는 멤버의 갯수를 조절하는 것 기본 형변환과 다르다[3.4 (int)-> 3] 조상 자손 관계의 참조변수는 서로 형변환 가능 class Car { String color; int door; void drive() { System.out.println("drive"); } void stop() { System.out.println("stop"); } } class FireEngine extends Car { void water() { System.out.println("water"); } } 형변환을 따지기 전에 일단 형변환을 하고 나서 생각하자 타입이 안맞으면 형변환 사용해서 맞춰주면된다 일단 조상 자손 관계만 참조변수가 형변환 가능하다는 것을 염두하고 코드를 작성하자 참조..
다형성 여러가지 형태를 가질 수 있는 능력 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 코드 예시 class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class SmartTv extends Tv { String text; // null 값 void caption() { /* 내용 생략 */ } } Tv는 Tv(), SmartTv는 SmartTv()로 타입이 일치해야한다 Tv t = new Tv(); SmartTv s = new SmartTv(); 다형성이라는 것은 타입이 불일치하더라도 된다 (Tv와 S..
캡슐화와 접근 제어자 접근제어자를 사용하는 이유: 1. 외부로부터 데이터를 보호하기 위해 => 캡슐화 예를 들어 Time이라는 클래스에서 시, 분, 초가 해당 하는 범위가 있는데 멤버변수에 직접 대입을하여 hour가 25가 입력되는 사태가 발생할 수 있다 public class Time { public int hour; // iv public int minute; // iv public int second; // iv } Time t = new Time(); t.hour = 25; // 멤버변수에 직접 접근 따라서 iv들을 보호하기 위해 접근 제어자를 private로 하여 외부에서 직접 접근하지 못하도록 해야한다 메서드는 public로 하여 외부에서 직접적인 접근은 막고, 외부에서 메서드를 통해 간접적으..
접근 제어자(access modifier) private: 같은 클래스 내에서만 접근이 가능하다 (default): 같은 패키지 내에서만 접근 가능하다 protected: 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근 가능하다 public: 접근 제한이 전혀 없다 제어자 같은 클래스 같은 패키지 자손 클래스 전체 public O O O O protected O O O (default) O O private O 클래스 앞에 붙일 수 있는 접근 제어자: public, (default) (default)는 아무것도 붙이지 않은 것을 의미한다 멤버에는 4가지(public, protected, (default), private 중 1가지를 붙일 수 있다 다른 클래스에서 사용할 경우 private..