-
- 객체지향프로그래밍(Object Oriented Programming)
- 실제 세상에서 사물의 속성과 기능, 사물간의 관계를 컴퓨터 프로그램에서도 사용할 수 있게 프로그래밍하는 방법 이다.
- 객체지향 프로그래밍 언어의 특징
- 상속
- 부모가 가지고 있는 여러 속성과 기능들을 자식이 그대로 물려받을 수 있게 한다
- 코드의 중복을 줄여준다
- 다형성
- 부모/자식간의 관계가 있는 클래스는 자식이 부모의 타입으로 변환이 가능하다
- 예) 메인보드의 그래픽카드 슬롯이 있고 회사가 다르지만 그래픽카드에 꽂아 쓸 수 있다
- 추상화
- 개발자들이 구현하기 전에 객체들의 특징이나 속성들을 파악하고 설계하는 과정이다(장점 : 설계 시 이점이 있다)
- 보고서 양식 같은 것 들 ( 값이 채워져 있지 않지만 미리 설계된 포멧, 보고서양식, 이력서, 회원가입등등 양식이 있는 서류)
- 캡슐화
- 하나의 관련 있는 속성이나 기능들을 하나로 묶어 담아둬서 관리하기 편하도록 하기 위함
- 하나는 속성이나 기능들을 객체 내부에 숨겨 놓고 외부에서 불필요한 정보를 볼 수 없도록 해서 개게 내부에 문제가 생기지 않도록 보호하며 꼭 필요한 속성이나 기능만 외부로 노출하는 것이다.
- new연산자
- 인스턴스 생성
- 생성자를 호출해 힙 영역에 필드를 초기화 후 주소를 확보해 반환하는 연산자
- 클래스와 객체
- 클래스의 구조
- 속성과 기능으로 나눌 수 있다
- 필드
- 생성자나 메서드 안에 있는 변수와는 다르다. 생성자와 메서드 안의 변수는 그 안에서 사용되지만 필드는 클래스 내부의 전체에서 사용된다.
- 생성자
- 메서드