오늘은 아침부터 9시까지 미친듯이 달려서 집에 안늦었어요^^ 식사시간은 빨라졌나요?
오늘은 객체지향 언어 oop를 배웠습니다.
객체, 클래스, 상속, 다형성, 추상화, 캡슐화… 객체와 클래스에 대해 배웠습니다.
객체 = 무안가에 대한 정보와 동작을 묶는 것
클래스 = 클래스를 통해 객체를 만들 수 있다.
class person{
String name; --->필드
method(){ -->메서드
}
}
즉 예를 들면 클래스는 = 설계도 , 객체 = 설계도를 통해 얻은 객체
클래스 생성 과정에 대해 이야기해 봅시다.
Person p = new Person();
먼저 실행 중인 Person 클래스는 JVM에서 RUN TIME AREA의 클래스 영역과 실행 부분에 클래스를 생성한다.
new Person();은 생성자를 통해 힙 메모리에 저장됩니다.
이렇게 지정된 참조 변수 p는 스택에 저장되고 person의 주소 값은 힙 메모리에 저장됩니다.
다시 말해서:
Java 프로그램이 시작되면 jvm의 클래스 로더는 먼저 런타임 데이터 영역의 클래스 영역에 클래스만 할당합니다.
실행 후 인스턴스가 생성되기 때문에 클래스 변수와 클래스 메서드가 붙으면 즉, 정적이면 생성 전에도 사용할 수 있다.
클래스를 통해 클래스 변수에 액세스하는 것이 일반적입니다.
Peson 클래스인 경우 Person.id;
id = 클래스 변수
메서드 서명, 메서드 본문
method()->선언 부분을 메소드 시그니처라고 하고,
{
———-> 메서드 본문
}
파라미터 변경에 따라 메소드 이름을 하나씩 바꿔가며 여러 메소드를 생성한다면 메소드 재작성은 자원낭비이다.
매개변수의 타입만 변경하면 새로운 메소드를 형성하지 않고도 같은 이름을 다양하게 사용할 수 있습니다.
오늘 페어프로그래밍은 끝났지만 아쉽고 개인적인 시간도 있습니다.