Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 쉬운코드
- concurrency control
- 네트워크
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 데이터베이스
- SDK
- CPU 스케줄링
- 개발남노씨
- 코딩테스트 [ ALL IN ONE ]
- 김영한
- B tree 데이터삽입
- 시스템프로그래밍
- 온디바이스AI
- 운영체제
- Git
- Extendable hashing
- 운영체제와 정보기술의 원리
- 코딩애플
- 트랜잭션
- recoverability
- 인터럽트
- 갤럭시 S24
- SQL
- 반효경
- 쉬운 코드
- 프로세스 주소 공간
- 시그널 핸들러
- vite
- 백엔드
- 커널 동기화
Archives
- Today
- Total
티끌모아 태산
1. 클래스와 데이터 본문
728x90
객체지향언어
- 코드의 재사용성이 높다: 새로운 코드를 작성할 때, 기존의 코드를 이용하여 쉽게 작성 가능.
- 코드의 관리가 용이하다: 코드간의 관계를 이용해서 쉽게 코드를 변경할 수 있다.
- 코드의 중복을 제거한다.
따라서 객체지향언어는 프로그램 개발과 유지보수에 드는 시간과 비용을 획기적으로 개선하는데 도움을 준다.
클래스와 객체
- 클래스: 객체를 정의해 놓은 것 즉, 객체를 생성하는데 사용. -> "객체의 설계도 또는 틀"
- 객체: 클래스에 정의된 내용대로 메모리에 생성된 것.
클래스와 사용자 정의 타입
타입은 데이터의 종류나 형태를 나타낸다. 따라서 int 라고하면 정수 타입, String이라고 하면 문자 타입니다. 그럼 Student라는 타입을 만들 수 있나? YES 클래스를 통해 가능! 즉, 클래스를 사용하면 int, String과 같은 타입을 직접 만들 수 있다.
- 사용자가 직접 정의하는 사용자 정의 타입을 만들려면 설계도가 필요하다. 이 설계도가 바로 클래스이다.
- 설계도인 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라고 한다.
- 따라서 클래스를 통해 사용자가 원하는 종류의 데이터 타입을 자유롭게 정의할 수 있다.
객체와 인스턴스
객체와 인스턴스는 같은 의미이지만, 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고, 인스턴스는 어떤 클래스로부터 만들어진 것인지 강조하는 보다 구체적인 의미.
- 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스.
객체의 구성요소 - 속성(변수)과 기능(메서드)
객체는 속성과 기능의 집합이고, 이런 속성과 기능을 그 객체의 멤버라 한다. 따라서 클래스로부터 객체가 생성되면, 클래스에 정의된 속성과 기능을 가진 객체가 만들어지는 것.
- 속성: 멤버변수(member variable)
- 기능: 메서드(method)
인스턴스의 생성과 사용
- 클래스명 변수명 = new 클래스명();
Tv t = new Tv();
Tv 클래스 타입의 참조변수 t를 선언, 그 다음 Tv 인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장한다.
Student student1 = new Student(); // 1. Student 인스턴스 생성
Student student1 = x001; // 2. new Student()의 결과로 x001 참조값 반환
student1 = x001; // 3. 최종 결과.
- 인스턴스는 참조변수를 통해서만 다룰 수 있으면, 참조변수 타입은 인스턴스 타입과 일치해야한다.
- 자바에서 대입은 항상 변수에 들어 있는 값을 복사해서 전달한다.
객체 배열
많은 수의 객체를 다룰 때, 배열로 다루면 편리하다. 주의할 점은 객체 배열안에 객체가 저장되는 것이 아니라 객체의 주소가 저장된다.
Tv[] tvArr = new Tv[3]; // 길이가 3인 Tv타입의 참조변수 배열
위와 같이 객체 배열을 생성하는 것은, 그저 객체를 다루기 위한 참조변수들이 만들어진 것일 뿐, 아직 객체가 저장되지 않았다. 객체를 생성해서 객체 배열의 각 요소에 저장하는 것을 잊으면 안된다.
Tv[] tvArr = new Tv[3]; // 길이가 3인 참조 변수 배열(객체배열)을 생성
// 객체를 생성해서 배열의 각 요소에 저장
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
728x90
'백엔드 > JAVA' 카테고리의 다른 글
10. 다형성(1) (0) | 2024.05.31 |
---|---|
9. 상속 (0) | 2024.05.30 |
2. 기본형과 참조형 (0) | 2024.03.04 |