객체지향(5)
-
[Java/객체지향] 클래스의 관계 - 상속/포함관계/단일상속/Object클래스
클래스의 관계(1)상속기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용)두 클래스를 부모와 자식으로 관계를 맺어주는 것자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화블럭 제외)자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.자손의 변경은 조상에 영향을 미치치 않는다.2차원 좌표의 한 점(x,y)class Point{ int x; int y;} 3차원 좌표의 한 점(x, y, z)//(1)Point와 관계없는class Point3D{ int x; int y; int z;}//(2)Point와 상속관계class Point3D extends Point{ int z;} (2)포함 관계포함이란?클래스의 멤버로 참조변수를 선언하는 것작은 단위의 클래스를 만들고, 이 둘을 조합해서 클래스..
2024.08.21 -
[Java/객체지향] 생성자, 생성자의 조건, 참조변수 this
생성자인스턴스가 생성될 때 마다 호출되는 ‘인스턴스 초기화 메서드’ = 객체 초기화 = iv(묶음) 초기화인스턴스 생성 시 수행할 작업(iv 초기화 등)에 사용초기화란?생성자 왜 만들어? iv 초기화를 편리하게 하려고! 생성자의 조건생성자의 이름 = 클래스의 이름생성자는 리턴값이 없음 (void 안 붙임)모든 클래스는 생성자를 가져야한다.기본생성자매개변수가 없는 생성자생성자가 하나도 없을 때만, 컴파일러가 자동 추가클래스이름( ) { }매개변수가 있는 생성자class Car{ String ccolor; String gearType; int door; Car() {} //기본 생성자 -> 매개변수가 없는 생성자 Car(String c, String g, int d){//매개변수가 있는 생성자 color ..
2024.08.20 -
[Java/객체지향] 매개변수
기본형 매개변수 → 읽기onlyclass Data{int x;}class Ex6_6 { public static void main(String[] args){ Data d = new Data(); d.x = 10; System.out.println("main() : x = " + d.x); change(d.x); System.out.println("After change(d.x)"); System.out.println("main() : x = " + d.x); } static void change(int x){ x=1000; System.out.println("chan..
2024.08.18 -
[Java/객체지향] 메서드
메서드1. 문장들을 묶어놓은 것 = 문장들을 작업단위로 묶어서 이름 붙인 것 → [장점] 코드 중복 제거 /관리 용이/재사용 가능public static void main(String args[]){...중간 생략...for(int i = 0;i//메서드//메서드 이름 : printArr(){}static void printArr(int[] numArr){ for(int i=0;i 코드 중복 삭제 2. 어떤 값을 입력하면, 이 값으로 작업을 수행해서 결과를 반환 cf) 메서드 vs 함수메서드와 함수는 거의 같은 개념 → 메서드는 객체지향에서 함수를 지칭하는 단어[차이] 메서드: 반드시 클래스 안에 존재 vs 함수: 클래스에 독립적 메서드의 작성반복적으로 수행되는 여러 문장을 메서드로 작성하나의 메서드..
2024.08.17 -
[Java/객체지향] 변수
선언 위치에 따른 변수의 종류 클래스 영역(iv, cv)선언문만 가능:→변수선언, 메서드선언(정의)선언문의 순서 없음클래스 영역 전체에서 유효(1) 클래스 변수(cv) - 공통 속성static + iv자동생성O → 객체 생성이 필요 X, 아무때나 사용 가능생성시기: 클래스가 메모리에 올라갈 때 = 설계도가 필요할 때(2) 인스턴스 변수(iv) - 개별 속성자동생성X → 객체 생성 필요O생성시기: 인스턴스가 생성되었을 때 =객체가 생성되었을 때 만들어짐객체를 생성하면, 클래스의 내용을 보고, 클래스에 정의되어있는 대로 만들어짐메서드영역(lv)메서드 내에서 선언된 변수(1) 지역변수(lv)생성시기: 변수 선언문이 수행되었을 때유효범위: 메서드가 생겨서 메서드가 끝날 때까지 유효)객체: iv변수를 여러 개 묶..
2024.08.16