728x90
반응형

객체지향 5

[JAVA] 자바의 this & super

this this 키워드 자신의 인스턴스를 가리키는 목적으로 사용됨 객체(인스턴스) 생성 시 참조변수 this 에 자동으로 인스턴스 주소가 저장됨 레퍼런스 this 자신의 인스턴스 주소가 저장되는 참조 변수 모든 인스턴스에 자동으로 생성되는 변수이며 객체(인스턴스) 생성 시 자동으로 자신의 인스턴스 주소가 저장됨 인스턴스변수와 로컬변수의 이름이 같을 때, 로컬변수가 선언된 메서드 내에서 인스턴스변수를 가리키는 용도 메서드 내에서 인스턴스변수와 이름이 중복되는 변수가 없으면 레퍼런스 this 를 생략할 수 있다. 기본 사용 문법 this.인스턴스변수 또는 this.인스턴스메서드() class Person3 { String name; int age; public Person3(String name, int ..

[JAVA] 자바의 상속 Inheritance

[JAVA] 상속 Inheritance 슈퍼클래스(부모클래스, 상위클래스)가 가진 멤버(변수, 메서드)를 서브클래스(자식클래스, 하위클래스)가 물려받아 선언없이 사용할 수 있도록 하는 것 서브클래스를 정의할 때 물려받을 슈퍼클래스를 지정하여 표현 is-a 관계라고도 함 상속을 통해 슈퍼클래스의 멤버를 물려받기 때문에 직접 메서드 또는 변수를 생성할 필요가 없어서 코드 중복 최소화됨 또한, 슈퍼클래스의 멤버를 수정하면 서브클래스에는 슈퍼클래스에서 수정된 내용이 그대로 적용되므로 유지보수가 용이 상속 적용 기본 문법 class 서브클래스명 extends 슈퍼클래스명 {} // 슈퍼(부모) 클래스 정의 public class Parent { public void parentPrn() { System.out.p..

[JAVA] 자바의 패키지 Package

패키지(Package) 및 package 문 클래스 파일이 위치하는 물리적 폴더 구조 패키지가 다르면 같은 이름의 클래스도 각각 별도로 관리가 가능함 패키지명은 상위패키지와 하위패키지로 구분하여 패키지 내에 또 다른 패키지를 생성할 수 있음 각 패키지 단계를 마침표(.)로 구분하여 지정 패키지명은 보통 각 회사의 도메인 이름을 사용하며 도메인 이름을 상위도메인부터 역순으로 나열하여 지정 ex. samsung.com 일 경우 com.samsung 으로 지정 특정 패키지에 소속된 클래스의 소스코드 최상단에는 반드시 package 키워드를 사용하여 소속 패키지의 이름을 명시해야함 단, 하나의 클래스는 하나의 패키지에 소속되므로 package 문은 소스 코드 최상단에서 단 한 번만 선언됨 특정 클래스의 이름을 ..

[JAVA] 자바의 생성자 Constructor

생성자 Constructor 객체를 생성할 때 new 연산자 뒤에 붙어서 호출되며, 객체 초기화를 담당하는 메서드의 일종 객체 생성 시 단 한 번만 호출 가능(임의로 호출 불가능) 메서드와 다른 점 생성자의 이름은 반드시 클래스명과 동일해야한다 리턴타입을 기술하지 않는다 (void 도 사용하지 않음) 클래스 정의 시 생성자를 하나도 정의하지 않을 경우 컴파일러에 의해 기본 생성자 Default Constructor가 자동으로 생성됨 매개변수가 없고, 중괄호 블록 내에 코드가 없는 빈 생성자 생성자 정의 기본 문법 [접근제한자] 클래스명([매개변수...]) { // 생성자 호출(객체 생성) 시 수행할 코드들... } 기본 생성자 형태 public 클래스명() {} /* * Person 클래스 정의 * 멤버..

[JAVA] 자바의 클래스 Class

클래스 class 클래스를 정의한 뒤 반드시 인스턴스를 생성하여야만 해당 클래스에 대한 실체화가 되고, 실체화 된 인스턴스를 통해 변수에 데이터를 저장하거나 메서드를 호출하여 동작을 수행 가능 객체 사용 순서 클래스타입(참조형) 변수 선언 new 연산자를 사용하여 클래스의 인스턴스 생성 => 생성된 인스턴스의 주소를 참조 변수에 저장 주소가 저장된 참조 변수를 통해 인스턴스에 접근하여 사용 클래스타입(참조형) 변수 선언 기본 문법 클래스명 변수명; 클래스 인스턴스 생성 및 주소 저장 기본 문법 변수명 = new 클래스명(); 클래스 변수 선언 및 인스턴스 생성을 동시에 수행하는 문법 클래스명 변수명 = new 클래스명(); 생성된 인스턴스 접근 방법 변수명.멤버변수명 또는 변수명.메서드명() /* * 분..

728x90
반응형