1. 객체와 클래스
페이지 정보
작성자 Ryangkyung 작성일15-06-27 12:13 조회3,039회 댓글0건본문
실제 고양이->abstraction->모델 고양이
동일 클래스에 여러 인스턴스 있는 경우, 별도 메모리 가진다
클래스 멤버: 필드, 메소드
지역변수: 메소드 내부에 선언, 초기화 X, 쓰레기값 들어 있다, parameter
field: 클래스 내부, 메소드 외부에 선언(private으로 선언), 기본값 설정
int: 0
double: 0.0
boolean: false
reference: null
Data type
primitive type
reference type
new Cat();
c에는 Cat 인스턴스의 메모리 주소 들어 있다.
c에는 Cat 인스턴스 가리키는 레퍼런스(참조)가 들어있다.
String class
String s;
s = new String("Kimberly");
s = "Kimberly";
Constructor
프로그래머가 구성자 선언 안 해주면 컴파일러가 기본 구성자 넣어줌
public 선언, 반환타입 X
클래스 이름과 같다
구성자 다중정의(parameter 개수에 따라)
dynamic loading: 필요할 때 코드가 메모리에 올라감
implicit object referencing: 혼동이 없을 때 this 생략 가능
public NameCat(String name){
this.name = name;//this.name: 객체 자신이 갖고 있는 name 필드
}
Access Modifier
private: 같은 class로부터의 접근만
public: 누구나
package: 같은 package (access modifier 안 붙이면 package 멤버)
Encapsulation
데이터와 그 데이터에 작용하는 메소드를 한 덩어리로 묶는 것
객체의 사용법에 해당하는 메소드만 노출시키고 나머지 메소드와 데이터는 외부에 노출 X
Information Hiding
사용자에게 꼭 필요한 메소드만 노출, 안정성
encapsulation과 private 선언을 통해 information hiding 이루어진다
사용자는 객체 내부 사항 알 필요 없다. 사용법만 알면 됨
객체가 사용자로부터 보호됨
procedural programming
모든 학생들의 학번, 이름, 학년 등 데이터를 배열 형태로 저장
ex)재학증명서 발급 등
댓글목록
등록된 댓글이 없습니다.