Back-End/Spring Boot

예습) 스프링 입문을 위한 자바 객체 지향의 원리와 이해

newny 2023. 4. 15. 22:11
반응형

객체지향의 상속

  • 상위 클래스의 특성을 재사용하는 것
  • 상위 클래스의 특성을 확장하는 것
  • is a kind of 관계를 만족해야 한다

 

인터페이스

인터페이스 : be able to
 

코드를 인간의 언어로 번역하면서 읽기

 

부모타입으로 생성된 객체가 있을 때 부모클래스의 메소드를 호출하더라도 오버라이딩 된 자식클래스의 메소드가 호출되는 이유

자바에서는 다형성을 지원하기 위해 가상 함수 테이블(virtual function table)이라는 개념을 사용한다. 부모 클래스와 자식 클래스에서 모두 같은 이름을 가진 메소드가 존재할 경우, 자식 클래스에서 오버라이딩된 메소드의 주소를 가상 함수 테이블에 저장한다. 이렇게 저장된 가상 함수 테이블은 실제 객체의 타입에 따라 적절한 메소드를 호출하기 위해 사용된다.
 

정적멤버 접근의 정석

정적 멤버에 접근할 때는 '객체참조변수명.정적멤버' 형식으로 접근하기 보다는 '클래스명.정적멤버' 형식으로 접근해야한다.
예시)

  • Person.name → 메소드영역(Class영역)의 Person클래스의 name으로 접근
  • Person hong = new Person(); → hong.name → 스택영역의 hong변수가 참조하고 있는/ 힙영역의 Person 객체의 정적멤버 name의 값이 있는/ 메소드영역(Class영역)의 Person클래스의 name으로 접근

 

변수의 값 복사

  • 기본 자료형 변수는 값을 값 자체로 판단한다.
  • 참조 자료형 변수는 값을 주소 즉, 포인터로 판단한다.
  • 기본 자료형 변수를 복사할 때, 참조 자료형 변수를 복사할 때 일어나는 일은 같다.
  • 즉, 가지고 있는 값을 그대로 복사해서 넘겨준다.

 

반응형