자바 ch객체

수민·2022년 5월 9일
0

개발

목록 보기
5/45

객체
-의사가 행귀가 미치는대상(사전적 의미)
-구체적,추상적 데이터의 단위

*객체지향프로그램고ㅡ 절차지향
아침에 일어나 학교를간다
일어난다->씻는다->밥을 먹는다->버스를 탄다-> 요금을지불한다 ->학교에도착

객체를 정의하고
기능들을 구현하고
기능들간의 소통을 통하여 객체간의 협력을 구현

객체의 속성은 클래스의 멤머변수로 선언함

블록안에 선언하면 지역변수
//클래스 이름은 대문자로하는것이 좋음
변수들은 소문자로시작해서 중간중간
대문자로 하는것이 좋다ㅣ.
카멜로테이션!

함수란?
하나의 기능을 수행하는 일련의 코드
-구현된(정의된)함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨
-함수로 구현된 하나의 기는은 여러곳에서 동일한 방식으로 호출되어 사용될 수 있음.

함수는 이름,매개변수,반환값, 함수 몸체로 구성됨.

매개변수 두개를 받는 addNum의 함수를 생성하고

result에 값1,값2를 더해서

main메소드에서 출력해준다.

반환값이 없는것은 void<

함수호출

스택:함수가 호출될떄 지역변수들이 사용하는 메모리
-함수의 수행이끝나면 자동으로반환되는 메모리.

반환이되면 자동으로 없어진다.
지역변수는 지역에서만 쓰고 함수의수행이 끝나면
자동으로 없어지는것.

메서드
-객체의 기능을 구현하기 위해 클래스내부에 구현되는 함수

메서드는 클래스안에 속해있음.
클래스에 멤버변수들을 이용함

클래스랑 다른개념

*메서드의 이름은 그 객체를 사용하는 객체(클라이언트)에 맞게 짓는것이 좋음.

인스턴스
-클래스는 객체의 속성을 정의하고, 기능을 구현하여 만들어 놓은 코드상태.
실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게됨.
*new키워드를 사용하여 인스턴스 생성.

생성된 인스턴스는 동적메모리에 할당됨
하나의 클래스로부터 여러개의 인스턴스가 생성되고 각각 다른 메모리 주소를 가지게 됨.
자바에서 Gabage Collector가 주기적으로 사용하지않고


print문으로 뽑아내보면
뒤에 studentLee와 kim 어드레스 주소를 나타냄.
앞에는 패키지값을 나타내는 것이고.

주소값을 받고있다는것을 표현하는것.

또한 참조변수,참조값이라고 말함.

생성자
-객체를 생성할때 new키워드를 사용
-생성자는 일반 함수처럼 기능을 호출하는것이 아니고 객체를 생성하기 위해 new와 함꼐 호출됨
객체가 생성될떄 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출함.

기본생성자

클래스에는 반드시 적어도 하나이상의 생성자가 존재
클래스에 생성자를 구현하지 않아도 new 키워드와 함꼐 생성자를 호출 할수 있음

클래스에 생성자가 하나도없는 경우 컴파일러가 생성자 코드를 넣어줌.

메서드는 반환값이 없으면
void를 명시!

this를이용해
default생성자는 생성자가 없을떄
제공된다

오류가발생하는것을 볼수있다 어떻게하면 오류를 없앨수 있을까?

간단하다 생성자를 만들어주면된다.

생성자정의
-생성자를 구현해서 사용가능
-허나 클래스에 기본생성자는 따로구현하면 기본성생저는 제공되지않음.

this를사용해야 멤버변수


접근제어지시자

-클래스 외부에서 클래스의 멤버변수,메서드 ,생성자를 사용할 수있는 여부를 지정

private-같은 클래스내부에서만 지정가능
protected:같은 패키지나 상속관계의 클래스에서나 접근 가능
public:클래스의 외부 어디서나 접근가능

get()/set() 메서드
private으로 선언된 멤버 변수(필드)에 대해 접근, 수정할수 있는 메서드
get()메서드만 제공되는 경우 read-only필드
이클립스에서 자동생성

boolean값은 default값으로
false를 가짐.

캡슐화

정보은닉을 통한 캡슐화
-꼭 필요한 정보와 기능만 외부에오픈,
-대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현하게함.

StringBuffer- 내부적으로 버퍼를 가지고있는 늘어날수있는 클래스에 String을 연결하고 그것을 String 값으로 리턴하는것.

this가 하는일
-인스턴스 자신의 메모리를 가리킴
-생성자에서 또다른 생성자를 호출할 떄 사용
-자신의 주소(참조값)을 반환함.

여리인스턴스에서 공통으로 사용하는 변수를 선언
-static

  • 여러ㅣ 인스턴스가 공유한 기준값이 필요한경우
  • 학생마다 새로운 학번 생성
  • 카드회사에서 카드를 새로 발급할떄마다 새로운 카드 번호를 부여

**인스턴스가 생성될떄 만들어지는 변수가아닌, 처음 프로그램이 메모리에 로딩될떄 메모리를 할당.

클래스변수 또는 정적변수라고도 함**

profile
헬창목표

0개의 댓글