본문 바로가기

java45

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.
Java_Study 객체지향 프로그래밍 (오버라이딩) 오버라이딩이란? - 덮어쓰다 : 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것 오버라이딩의 조건 자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와 이름이 같아야 한다. 매개변수가 같아야 한다. 반환타입이 같아야 한다. 접근제어자와 예외는 접근제어자는 조상 클래스의 메서드보다 좁은 범위로 변경 할 수 없다. 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다. 인스턴스메서드를 static메서드로 또는 그 반대로 변경할 수 없다. * 접근제어자 접근범위 순 public, protected, (default), private 오버로딩 vs 오버라이딩 오버로딩 기존에 없는 새로운 메서드를 정의하는 것 오버라이딩 상속받은 메서드의 내용을 변경하는 것 super : 자손 클래스에서 조상.. 2022. 7. 4.
Java_Study 객체지향 프로그래밍 (상속) 상속의 정의와 장점 상속이란? : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. 장점 : 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여 방법 : 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써준다. 조상 클래스 부모클래스, 상위클래스, 기반클래스 자손 클래스 자식클래스, 하위클래스, 파생된 클래스 - 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. - 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다. 클래스간의 관계 - 포함관계 : 한 클래스의 멤버변수로 다.. 2022. 7. 3.