본문 바로가기

OOP8

Java_접근제어자, 내부클래스(oop) 접근제어자 접근제어자는 클래스 내에서 멤버의 접근을 제한하는 역할을 수행 접근제어자 종류 및 범위 종류 객체 내부 같은 패키지 서로 다른 패키지 public 접근가능 접근가능 접근가능 protected 접근가능 접근가능 하위 클래스만 접근가능 (default) 접근가능 접근가능 접근 불가 private 접근가능 접근 불가 접근 불가 접근제어자의 사용 구분 사용가능한 접근제어자 클래스 public, (default) 인스턴스 변수 public, protected, (default), private 클래스 변수 public, protected, (default), private 생성자 public, protected, (default), private 인스턴스 메소드 public, protected, (de.. 2023. 11. 13.
Java_인터페이스(oop) 인터페이스 인터페이스란 하위클래스에서 구현할 기능을 정의해 둔 것 인터페이스는 하위클래스에 특정한 메소드가 반드시 존재하도록 강제할 때 사용 인터페이스는 모든 하위 클래스의 사용법(메소드의 실행방법)을 통일시키는 표준으로 사용 하위클래스는 인터페이스에 정의된 추상화 메소드를 구현(오버라이딩)해야한다 하위클래스는 동시에 여러 개의 인터페이스를 구현할 수 있다 인터페이스의 특징 인터페이스는 상수, 추상메소드만 갖고있다 (자바 8버전부터 정적 메소드와 디폴트 메소드가 추가 ) 인터페이스끼리는 다중 상속이 가능하다 인터페이스는 new 키워드를 사용해서 객체 생성할 수 없다 인터페이스 타입의 참조변수로 객체를 참조할 수 있다 인터페이스 형식 및 인터페이스를 구현한 구현 클래스정의하기 public interface.. 2023. 11. 10.
Java_오버라이딩, 추상화, 다형성(oop) 오버라이딩 부모클래스에서 상속받은 메소드를 재정의 하는 것 상속관계에 있는 부모클래스로부터 상속받은 메소드를 하위클래스에서 그대로 사용하지 않고 하위클래스에 맞게 내용을 변경하는 것 ( 무조건 상속관계에서만 발생한다 ) 오버라이딩 조건 : 반환타입 + 메소드이름 + 매개변수이 다 부모클래스와 동일해야 한다. 그러나 구현내용만 다르게 정의해야 한다 ( 접근제한자는 달라도 상관없지만, 부모의 접근제한과 동일하거나 더 느슨한 접근제한만 가능하다) 오버라이딩의 목적 : 오버라이딩한 ( 메소드를 재정의한 ) 메소드를 부모타입의 참조변수로 실행하기 위해서 오버라이딩의 예 public class Printer { String black; public void print() { System.out.println("흑백.. 2023. 11. 9.
Java_상속, Object, 클래스 형변환(oop) 상속 상속이란, 기존의 클래스(부모클래스)를 재사용해서 새로운 클래스(자식클래스)를 작성하는 것 상속을 이용해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있다 새로 작성된 클래스들은 기존 클래스의 코드로 공통으로 가지게 되기 때문에, 공통코드의 관리가 쉬워짐 상속의 장점 코드의 재사용성을 높일수 있다. 코드의 중복을 제거할 수 있다 프로그램의 생산성과 유지보수성이 좋아진다 상속을 이용해서 새로운 클래스 작성하기 public class Phone { String number; public void call() { System.out.println("전화를 건다"); } public void receive() { System.out.println("전화를 받는다"); } } 위처럼.. 2023. 11. 8.