반응형
다형성이란 무엇인가.
Backend/java2018. 8. 12. 19:14다형성이란 무엇인가.

다형성이란 무엇인가. 1. “여러 가지 형태를 가질 수 있는 능력” 2. “하나의 참조변수로 여러 타입의 객체를 참조할 수 있는 것” 3. 조상타입의 참조변수로 자손타입의 객체를 다룰 수 있는 것이 다형성이다. 설명서 다형성이란... 여러가지 형태를 가질 수 있는 능력...입니다. 이건 어디까지나... 순수하게 객체지향이론적인 다형성의 정의고요... 프로그래밍에서의 다형성은... 하나의 참조변수로 여러타입의 객체를 참조할 수 있는 것을 말합니다. 즉, 조상타입의 참조변수로 자손타입의 객체를 다룰 수 있는 것이 다형성입니다. 누가 다형성이 뭐냐?고 물어보면... 조상타입의 참조변수로 자손타입의 객체를 다룰 수 있는 것’이라고 바로 대답이 나올 수 있으셔야 합니다. 이와 같이... Tv클래스와 Tv클래스를 ..

제어자의 조합
Backend/java2018. 8. 12. 19:09제어자의 조합

지금 까지 배웠던 접근 제어자를 정리해 본 사진입니다.메서드에서 Static과 abstract 를 함께 사용하는 것은 불가능하다.클래스에 abstract와 final을 동시에 사용할 수 없다abstract메서드의 접근제어자가 private일 수 없다.메서드에 private와 final을 같이 사용할 필요는 없다.

생성자의 접근 제어자
Backend/java2018. 8. 12. 19:05생성자의 접근 제어자

생성자에도... 접근제어자를 사용할 수 있습니다.일반적으로 생성자는 클래스와 같은 접근제어자를 사용하지만...생성자에 접근제어자를 사용해서 인스턴스의 생성을 제한할 수 있습니다.연산자 new를 통해서 인스턴스를 생성하려면... 생성자를 호출해야하는데...생성자의 접근제어자를 private으로 하면... 연산자 new를 통해서 인스턴스를 생성할 수 없습니다.대신... 이처럼... 내부적으로 객체를 생성해서 접근제어자를 private으로 해서 감추고public 메서드를 호출해서 생성된 객체에 접근할 수 있도록 해야 합니다.getInstance메서드가 하는 일은 생성된 객체의 참조를 반환하는 것 뿐입니다.만일을 대비해서...참조가 null인 경우에는 새로운 객체를 생성하도록 했고요.외부에서 객체를 생성할 수 ..

접근제어자를 통한 캡슐화
Backend/java2018. 8. 12. 18:08접근제어자를 통한 캡슐화

접근제어자를 사용하는 주된 이유는... 외부로 부터 데이터를 보호하기 위해서입니다. 그리고, 외부에는 불필요한 내부적으로만 사용되는 부분을 감춰서 복잡성을 줄이기 위한 것입니다. 그래서 Java API문서를 보면... 접근제어자가 public이나 protected인 것들만 나와 있는 것을 알 수 있습니다. 여기 Time클래스를 보면.... 멤버변수들은 모두 접근제어자를 private으로 해서 클래스 외부에서 접근하지 못하도록 하고... 접근제어자가 public인 한 쌍의 메서드를 통해서만 읽거나 변경할 수 있도록 되어 있습니다. getHour메서드는 멤버변수 hour의 값을 반환하고... setHour메서드는 넘겨받은 값을 체크해서 유효한 값일 경우에만 hour의 값을 변경하도록 코드가 작성되어 있습니다..

접근 제어자란 무엇인가
Backend/java2018. 8. 12. 18:04접근 제어자란 무엇인가

접근 제어자는 멤버 또는 클래스에 대한 접근범위를 제한하는 역할을 합니다. 비밀번호와 같은 중요한 데이터가 아무런 제약없이 쉽게 접근되어서는 안되겠죠... 접근제어자는 private, default, protected, public 모두 4개가 있고요. 클래스, 멤버변수, 메서드... 생성자에 사용될 수 있습니다. 각 접근제어자마다 접근할 수 있는 범위가 다른데요... private이 붙은 멤버는 같은 클래스 이외에서는 접근할 수 없습니다. 가장 제한이 높은 접근 제어자이고요. default는 같은 패키지 내의 클래스에서만 접근할 수 있습니다. protected는 자손클래스에서만 접근이 가능합니다. 그리고 같은 패키지 내의 클래스에서도 접근이 가능합니다. public은 접근 제한이 전혀 없습니다. 접근 ..

abstract란 무엇인가
Backend/java2018. 8. 12. 17:59abstract란 무엇인가

abstract는 추상의, 미완성의...라는 의미의 제어자입니다. abstract가 사용될 수 있는 곳은 클래스와 메서드이고요... 메서드 앞에 abstract가 붙으면 추상메서드가 되고, 클래스 앞에 abstract가 붙으면 추상클래스가 됩니다. 추상메서드는... 선언부만 있고 구현부가 없는 미완성 메서드입니다. 추상메서드가 정의된 클래스 역시 미완성 클래스이기 때문에... 클래스 앞에 abstract를 붙여서 이 클래스가 추상메서드를 포함하고 있고... 미완성 클래스이기 때문에 인스턴스를 생성할 수 없다라는 것을 알려줘야합니다. 추상클래스는 상속을 통해서 자손클래스에서 완성되어야만 인스턴스를 생성할 수 있습니다.

반응형
image