[국비 학원 기록/자바]객체지향(OOP) 01.객체, 클래스, 인스턴스, 함수와 메서드
my code archive
article thumbnail
반응형

드디어 대망의 객체지향.......

이전 학원에서 수업 듣고

자바의 정석 객체지향 문제 거의 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는 가비지 컬렉터에 의해 저절로 삭제된다.

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형