본문 바로가기

코딩37

2022.02.17_9일차_다형성과 추상클래스 09일차 학습내용 1. 다형성 polymorphism 2. 추상클래스 3. 인터페이스 interface sc.close( ) x, y를 가지고는 있지만 -> 사용시 a.멤버명에서 쓸 수 있는건 x뿐. (-> y를 쓰고싶으면 다시 형변환하면 가능) ▶ A부모타입 변수에 B자식타입 객체를 생성합니다. 가능합니다. 반대로는 안됩니다. (형변환에서 큰 기본형에 작은 기본형을 넣는게 가능했던 것도 가능하고, 반대는 불가능하듯이 말입니다.) 작은 애한테 큰 옷을 입혀주는거라 업캐스팅입니다. ------------------------------------------ 메인메서드 내부 A a = new A(); -> x -> 사용할 땐 a.멤버명, x B b = new B(); -> x, y -> 사용할 땐 b.멤버명.. 2022. 2. 23.
2022.02.16_8일차_상속과 오버라이딩 08일차 학습내용 1. static 키워드 2. final 키워드 3. 상속 inheritance 4. 상속과 접근제어자 5. 상속과 생성자 6. 오버라이딩 overriding 1. static 키워드 : this키워드와 함께 하실 수 없습니다~~~ 메서드와 변수앞에 붙어서 클래스변수 클레스메서드를 만듭니다. (캡슐화 클래스 안에 담아서 공개범위 지정, 무분별한데이터 훼손 방지위해 우회하게도록 유도, 프로그램 내 접근) 모든 아이들에게 전체 공개 해서 쓸 때 static 붙입니다. static이 붙으면 별도로 객체 생성없이 사용 가능합니다. 그래서 클래스 내부 매서드 또는/ 객체를 생성했을 때 사용하는 생성자 내부의 this키워드는 쓸일이 없죠. static은 왜 객체생성없이 사용가능하냐? 바로 stat.. 2022. 2. 22.
2022.02.15_7일차_생성자와 this키워드 07일차 학습내용 1. 생성자 constructor 2. 기본생성자 default constructor 3. this 레퍼런스 4. this() 디스메서드 5. 객체 배열 6. 객체의 소멸 7. 가비지 8. 가비지 컬렉션 Gabage Collection 9. 접근지정자 modifier 1. 생성자 constructor 1) 객체가 생성될 때, 객체의 초기화를 위해 실행되는 메서드입니다. 즉 생성자는 new를 통해 객체를 만들기 전에 세팅작업을 하는 역할을 합니다. 자바의 모든 클래스는 생성자를 가지고 있으며, 생성자가 기술 안되어있으면 "기본생성자"가 자동으로 호출됩니다. (by JVM) * 생성자 포함 자바에서 초기화는 3가지 방식이 있습니다. 1.생성자 2. 초기화 블럭 클래스 블럭 / 인스턴스 블럭.. 2022. 2. 21.
2022.02.14_6일차_메서드와 메서드 오버로딩 지난 수업 내용에서 변수들의 구분에 대해 배웠는데요 다시 정리해보면 클래스 변수는 공통적으로 들어가는 특징을 담아둡니다. 쉽게, static이 붙은건 클래스변수다~하면 되죠. 프로그램이 실행되면 가장먼저 한공간에 한번만 실행됩니다. 객체생성할 필요 없습니다. 인스턴스변수에는 달라지는 차이점을 담습니다. new키워드로 객체를 매번 생성하는데, 생성시마다 메모리를 따로 따로 점유하게 됩니다. new하기 전에는 사용이 불가합니다. 지역변수 메서드 내(=중괄호)에서 생성되고 중괄호가 닫기면 바로 소멸됩니다. static은 이 안에서 볼 수 없습니다. : 클래스= 속성(메서드 밖) + 기능(메서드 안) 2022. 2. 20.