불로구
17강. (JAVA) 자바 - 객체 지향 프로그래밍 본문
오늘부터의 내용은 자바에서 아주 중요한 내용입니다!
객체란?
- 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지고 있으며, 식별 가능한 것
예를 들면,
현실 세계의 사람과 TV가 있다. 이것을 SW 객체 모델링을 통해 오른쪽 그림의 자바에서 객체를 생성한다
객체지향프로그래밍 ( OOP : Object-Oriented Programming)
- 객체를 하나씩 조립해서 완성된 프로그램을 만드는 기법
- 객체지향의 장점
1) 코드의 재사용성 증가
2) 유지 보수가 용의
3) 코드의 중복 제거
- OOP의 4대 핵심
1) 캡슐화
2) 상속
3) 추상화
4) 다형성 ( 가장 중요함 )
- 클래스, 객체, 인스턴스
클래스 - 객체를 정의해 놓은 것, 객체를 생성 시 사용 (설계도)
객체 - 실제로 존재하는 것, 사물 또는 개념, 객체의 속성과 기능에 따라 다르다.
인스턴스 - 클래스로부터 만들어진 객체
- 객체 생성
참조 변수명 = new 클래스명();
}
- 간단한 실습
}
1. 객체를 생성함으로,
0x100 주소의 멤버로 tv 클래스의 channel, channelDown(), channelUp() 생성
channel은 인스턴스 변수로서, 자동 초기화를 통해 0의 값을 가진다
2. 참조 변수 t를 이용해 channel의 값을 0에서 10으로 변경
3. 참조 변수 t를 이용해 channelDown() 함수 호출 -> channel 값은 9로 변경
4. 참조 변수 t를 이용해 channelUp() 함수 호출 -> channel 값은 10으로 변경
인스턴스 생성과 사용
하나의 인스턴스를 여러 참조 변수가 가리킬 수 있다
여러 인스턴스를 하나의 참조 변수가 가리킬 수 없다!
이후 포스팅부터는 객체에 대해서 깊게 포스팅하겠습니다!
혹시나 궁금한 점은 댓글로 남겨주세요!
'프로그래밍 > JAVA' 카테고리의 다른 글
19강. (JAVA) 자바 - 다른 생성자 호출 : this() (0) | 2020.06.14 |
---|---|
18강. (JAVA) 자바 - 생성자 (0) | 2020.06.14 |
16강. (JAVA) 자바 - 배열 복사(arraycopy) (0) | 2020.06.14 |
15강. (JAVA) 자바 - 다차원 배열 (0) | 2020.06.14 |
14강. (JAVA) 자바 - 배열 (0) | 2020.06.14 |