본문 바로가기

JAVA18

JAVA - 캐스팅(casting) 캐스팅(casting)이란? -타입 변환 -업캐스팅(upcasting), 다운캐스팅(downcasting) #.업캐스팅(upcasting) -서브클래스의 객체에 대한 레퍼런스를 슈퍼클래스 타입으로 변환하는 것 -자바에서 서브 클래스는 슈퍼클래스의 속성을 상속받는다. = 서브클래스 객체는 슈퍼클래스의 멤버를 모두 가짐 = 서브클래스의 객체를 슈퍼 클래스의 객체로 취급할 수 있다. #.다운캐스팅(downcasting) -업캐스팅의 반대 -슈퍼클래스 타입의 레퍼런스를 서브클래스 타입의 레퍼런스로 변환하는 것 -명시적으로 타입 변환 지정해야한다. #.instanceof 연산자 -레퍼런스가 가리키는 객체가 어떤 클래스 타입인지 구분하기 위해 사용 2022. 12. 19.
JAVA - final *final 키워드 사용 - final클래스, final 메소드, final 필드 #.final 클래스 -final이 클래스 이름 앞에 사용되면 클래스를 상속받을 수 없음을 지정 #.final 메소드 -final이 메소드를 선언하면 *오버라이딩할 수 없는 메소드임을 선언 *오버라이딩(overriding) - 슈퍼클래스에서 구현된 메소드를 동일한 이름으로 재정의 #.final 필드 -final로 필드를 선언하면 필드는 *상수가 된다. *상수 - 한번 초기화하면 값을 변경할 수 없다. 2022. 12. 17.
JAVA - static / non-static #.static 멤버 -클래스 멤버라고도 부름 - 클래스당 하나씩 생겨서 -객체를 생성하지 않고 사용할 수 있는 멤버 -클래스당 하나만 생성되는 멤버로서 동일한 클래스의 모든 객체들이 공유 -main()메소드가 실행되기 전에 이미 생성 #.non-static 멤버 -인스턴스 멤버라고도 부름 - 객체마다 생성한다고 해서 -객체가 생길 때 객체마다 생성, 다른 객체와 공유x -객체가 사라지면 non-static 멤버도 함께 사라져 접근 불가 #.static의 활용 -전역변수와 전역함수 만들 때 사용 -공유 멤버를 만들고자 할 때 사용 #.static 메소드의 제약조건 -static 메소드는 static 멤버만 접근할 수 있다. -객체 없이도 존재하기 때문에 객체와 함께 생성되는 non-static멤버는 사용.. 2022. 12. 17.
JAVA - 접근지정자 -객체지향은 객체를 캡슐화하기 때문에, 객체에 다른 객체가 접근하는 것을 허용할지, 말지 지정할 필요가 있다. #.패키지 -디렉토리, 폴더 같은 개념 -자바에서 서로 관련 있는 클래스를 패키지로 저장하여 관리 #.접근 지정자 -public, default(접근 지정자 생략), private, protected - 4가지 ##.클래스 접근 지정 #.public 클래스 -패키지에 상관없이 다른 어떤 클래스에서도 사용을 허용 #.default(접근 지정자 생략) 클래스 -같은 패키지 내의 클래스들에게만 사용 허용 ##.멤버 접근 지정 #.public 멤버 -패키지 상관없이 모든 클래스가 접근 가능 #.private 멤버 -비공개로 지정하는 것 -클래스 내의 멤버들에게만 접근을 허용 #.protected 멤버 .. 2022. 12. 16.