기술 블로그

인스턴스와클래스, 동적 바인딩 본문

백엔드/JAVA

인스턴스와클래스, 동적 바인딩

jaegwan 2023. 10. 29. 21:28
반응형

객체지향 프로그래밍: 인스턴스와 클래스, 동적 바인딩 이해하기

인스턴스와 객체의 차이

인스턴스와 객체의 차이를 이해하려면 먼저 클래스의 개념을 알아야 한다. 클래스는 객체를 생성하기 위한 템플릿이다. 객체는 클래스에서 정의한 것을 바탕으로 메모리에 할당된 상태를 말하며, 인스턴스는 특정 클래스로부터 생성된 객체를 의미한다. 클래스를 설계도에 비유한다면, 객체는 설계도로부터 만들어진 실제 제품이고, 인스턴스는 그 제품이 어떤 설계도로부터 만들어졌는지를 명시할 때 사용하는 용어다.

인스턴스 변수와 클래스 변수

인스턴스 변수는 클래스로부터 생성된 각 객체에 할당되는 변수이다. 이 변수는 객체마다 별도로 존재하며, 객체의 상태를 나타낸다. 클래스 변수는 클래스에 속한 변수로, 해당 클래스의 모든 객체가 공유한다. 클래스 변수는 static 키워드를 사용하여 선언되며, 클래스 로드 시 한 번만 메모리에 할당된다.

동적 바인딩

동적 바인딩은 실행 시간에 메서드 호출이 결정되는 메커니즘이다. 이는 객체의 실제 타입을 확인하고, 해당 타입의 메서드를 호출한다. 동적 바인딩을 통해 다형성을 구현할 수 있으며, 코드의 확장성과 재사용성이 향상된다.

다형성과 상속

다형성은 하나의 인터페이스를 가지고 여러 개의 구현을 할 수 있는 능력을 말한다. 상속을 통해 서브클래스는 슈퍼클래스의 속성과 메서드를 상속받을 수 있으며, 이를 바탕으로 코드의 재사용성과 확장성을 향상할 수 있다. 하위 클래스 객체를 상위 클래스 타입으로 받을 수 있게 설계하면, 코드가 더 유연해지며 여러 타입의 객체를 하나의 상위 클래스 참조 변수로 다룰 수 있다.

반응형

'백엔드 > JAVA' 카테고리의 다른 글

자바 콜백  (0) 2018.11.24
arrayList에 모델클래스로 여러개 담기  (0) 2018.11.17
자바 기초2 객체지향  (0) 2018.11.03
자바 기초 1 제어문  (0) 2018.11.03
점프 투 자바 학습계획  (0) 2018.09.26
Comments