본문 바로가기
  • 1+1=3
개발삽질/SSAFY하는 동안 기록

[SWEA]자바 초급(2) - 2,3차시: Modifier

by 여스 2021. 12. 29.
반응형

클래스에 사용되는 제어자(modifier)

 

UML(unified modeling language)

멤버변수에 사용되는 Modifier

제어자 안쓰면 같은패키지 내의 클래스에만 접근 가능한 변수라는 의미를 갖게 됨

접근제한자 심화

예시)

위 예시에서

carNumber는 Car클래스에서만.

speed는 Car와 Cartest2만

getSpead() 는 Car, Cartest2, Taxt만,(protected는 하위클래스도 접근가능)

getName()는 전부다

 

 

메서드 Modifier

 

 

 

 

참고로 이런것도 있넹, toString()메서드 자동구현기능 사용하면 생성된 객체의 상태를 쉽게 확인가능하다!

 

 


3차시: Modifier와 생성자

final

변수 앞에 붙을 땐, 단 한번 초기화가 가능하지만, 초기화 이후에는 값을 변경할 수 없는 상수임.

메서드 앞에 붙을 땐, 자식클래스에서 오버라이딩 금지하도록 하는 것.

클래스 앞에 붙을 땐, 상속을 금지하는 것.

 

final 과 static

클래스 변수(static 붙은 변수)는 클래스로부터 생성된 모든 객체들이 동일한 값을 가지는 경우 공통된 값을 가지는 변수를 클래스 변수로 선언해서 메모리를 효율적으로 사용하려고 하는 것임. 그런데 이 변수를 변경을 허용하도록 하면 static 예약어를 붙이는 의미가 상실되버림.  따라서 final 예약어를 결합하여 사용함으로써 초기화된 값을 변경할 수 없도록 함.

예시)

상수의 이름은 일반 인스턴스 변수와 구분하기 위해서 모두 대문자로 선언함.

여러 단어가 결합된 경우라면 단어와 단어사이에 _를 이용함.

따라서 위 예시에서, companyName은 COMPANY_NAME 이라고 해야 함.

 

abstract

추상메서드: 메서드의 시그니쳐(리턴 타입, 메서드명, 매개변수)만 정의되고, 블록부분은 정의되지 않은 메서드

추상클래스: 추상메서드를 포함하고 있는 클래스는 추상클래스로 선언되어야 함.(추상클래스가 추상메서드를 포함하지 않을수도 있다!!이거 몰랐네)

 

 

 

반응형

댓글