자바 study 02(배열)

수민·2022년 5월 10일
0

개발

목록 보기
6/45

static(클래스 메서드)에서는 인스턴스 변수를 사용할 수 없다.

  • static메서드는 인스턴스 생성과 무관하게 클래스이름으로 호출될 수 있음.

static안에서는 일반변수를 사용할 수없다.

싱글톤패턴
-프로그램에서 인스턴스가 단 한개만 생성되어야 하는 경우 사용하는 디자인패턴
-static 변수, 메서드를 활용하여 구현

회사는 유일해야한다.

배열
-동일한 자료형의 순차적 자료구조
-인덱스 연산자[]를 이용하여 빠른 참조가가능
-물리적 위치와 논리적 위치가 동일
-배열의 순서는 0부터 시작
-자바에서는 객체배열을 구현한 ArrayList를 많이 활용함

배열선언하기
int[] arr=new int[10];
int arr2[]=new int[10]
처럼
new를 써줘야한다.

*요소의 개수에대한 변수를 따로유지
]

배열의길이와 요소의 개수는 동일하지 않다.

2차원 배열

int[][] arr =new int [][]
자료형 배열이름 ` 행 열

클래스상속
-새로운 클래스를 정의할떄 이미구현 된 클래스를 상속받아서 속성이나 기능을 확장하여 클래스를 구현
-이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할때 기존 클래스를 상속

protected를 통해 하위클래스에서 접근가능
모드를 만듬.

멤버변수를 쓸라면 메모리가 있어야되는데
이것은 상속으로 통해 해결할수있다.

컴파일러가 상위호출하는 클래스 코드가
없으면
super()를 자동명시해줌 //

vipCustomer를 호출했는데 customer이 먼저
호출된것을 볼수있다.

디폴트를 주석처리하고
생성자를 추가해주면
오류가발생한다 왜그럴까?

super로 들어가는데 호출할애가
없기떄문에 VIPCustomer에서 오류가 발생하는것이다.

super를 통해 불러주면된다.


다음과같이
상위클래스가 먼저 생성된다.
호출도 상위를 먼저 호출해야된다


다음과 같이 생성할수있다.
customer타입으로 대입할수 있다.
하지만

타입은 customer꺼만 사용할수있다.
vip인스턴스 상태라해도 customer로 형변환 되있으면 customer꺼만 사용할수있다

(자기타입꺼만 쓸수있다)

하위클래스에서 메서드 재정의
-오버라이딩:상위 클래스에 정의된 메서드의 구현내용이 하위클래스에서 구현할 내용과 맞지않는 경우 하위클래스에서 동일한 이름의 메서드를 재정의 할수 있음.

customer메서드의 CalcPrice메서드이다.


Vipcustomer메서드의 재정의

다형성
-하나의 코드가 여러 자료형으로 구현되어 실행되는것
-같은 코드에서 여러 다른 실행결과가 나옴
-정보은닉,상속과 더불어 객체지향 프로그래밍중 가장 큰특징중 하나

object클래스-모든 클래스의 최상위 클래스

java.lang패키지
프로그래밍시 import하지 않아도 자동으로 import됨
import .java.lang.*;

clone메서드
객체의 원본을 복제하는데 사용

생성자는 초기화하고 생성하는거지만
clone은 동일한객체를 복제.

profile
헬창목표

0개의 댓글