반응형
드디어 대망의 객체지향.......
이전 학원에서 수업 듣고
자바의 정석 객체지향 문제 거의 10번은 반복해서 푼 것 같은데
아직도 친해지지 못한 객체지향.....
이번엔 꼭 수업 뽝 열심히 듣고 이해하고 말테다.
객체(Object)
-의사나 행위가 미치는 대상
-구체적, 추상적 데이터 단위(학생, 회원, 생산, 주문, 배송...)
클래스
-객체의 속성은 멤버 변수(member Variable)로 선언함.
*객체 vs 클래스
붕어빵 붕어빵 기계
*클래스 : 객체를 정의해 놓은 코드, 객체를 생성하는 데 사용함.
- java 파일 하나에 클래스는 여러 개가 있을 수 있지만
public 클래스와 .java 파일의 이름은 동일함.
- 클래스는 대문자로 시작하는 것이 좋음.
함수와 메서드
함수(function)
-하나의 기능을 수행하는 코드
-구현된 함수는 호출하여 사용하고, 호출된 함수는 기능의 실행이 끝나면 제어가 반납됨.
-함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음.
-반환값 타입, 이름, 매개변수, 함수 몸체(body)로 구성됨
함수 호출과 스택 메모리
1) 스택(stack) : 함수가 호출될 때 지역 변수들이 사용하는 메모리
2) 함수의 수행이 끝나면 자동으로 반환되는 메모리
메서드(method)
-객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수.
-멤버 함수(member function)라고도 함.
-메서드를 구현함으로써 객체의 기능이 구현됨.
객체와 인스턴스
-일반적으로 객체와 인스턴스는 같은 말 (객체는 인스턴스를 포함한다.)
-인스턴스는 new 연산자에 의해 메모리에 할당된 것을 말함.
객체 생성하는 방법
: 클래스명 참조변수명=new 클래스명();
인스턴스 사용하는 법
: 클래스명.클래스변수명
Student 클래스 생성
-모든 클래스는 Object 클래스를 상속받는다. =>최상위 슈퍼 클래스, extends Object 가 항상 생략되어 있다고 생각하면 됨.
this : 자기 자신을 가리킴. <-> super : 조상 객체의 주소, this와 반대의 의미
Object 클래스의 toString() 객체
-객체의 해시코드 출력
-toString()을 오버라이드 하면 객체의 정보를 문자열 형태로 표현할 수 있다.
stu1, stu2 객체 2개 생성
-각각 독립된 저장 공간을 갖는다.
그래서 출력했을 때 위와 같은 결과가 나오지만
stu1 주소를 stu에도 동일하게 대입하면 다음과 같은 결과가 나온다.
->그림으로 쉽게 표현하면 이런 것!!! stu1, stu2 를 str1, str2로 잘못 썼는데...
어쨋든 stu2는 가비지 컬렉터에 의해 저절로 삭제된다.
반응형
'📒 education archive > 🎀JAVA' 카테고리의 다른 글
[국비 학원 기록/자바]객체지향(OOP) 03.생성자, 접근 제어 지시자, 캡슐화 (0) | 2021.10.06 |
---|---|
[국비 학원 기록/자바]객체지향(OOP) 02.스택, 힙, 힙 메모리 (0) | 2021.10.05 |
[국비 학원 기록/자바] 제어문, while문, do~while문, 예제 (0) | 2021.10.03 |
[국비 학원 기록/자바] printf 출력 서식, %d, %x, %s (0) | 2021.10.03 |
[국비 학원 기록/자바] Switch Case 선택문, yield 예약어, Java JRE 바꾸는 방법 (0) | 2021.10.03 |