JAVA/객체 코드 (16) 썸네일형 리스트형 상속(2) public static void main(String[] args) { // TODO Auto-generated method stub //Child c = new Child(); // //c.method(); /*Parent method() Child method() */ Parent p = new Child(); p.method();//Child메소드가 호출됨-> //답 : Child method() //p.func();//에러. Parent에 없는 메서드는 Child 메소드가 호출 안됨 } public class Parent { public Parent() { } public Parent(int number) { } /* Over Ride 상속 받은 후에 상속받은 클래스(자식 클래스)에서 고쳐 기입.. 객체의 3대 특징 - 상속성 ** 상속성 : 부모클래스에서 기능을 상속한다. variable method 추가로 기능을 확장하는 경우 사실상 부모 - 자식 - 메인 순으로 출력하나 겉으로 보기엔 자식 - 메인순과 헷깔릴 수 있다. 그 이유는 자식메소드에 숨어있는 super();가 자동생략이기 때문. main Child c = new Child(); //c.name = "일지매";//The field Parent.name is not visible 접근불가 ->protected c.Parent_method();//부모 - 자식 - 메인 순으로 출력 답://Parent Parent(int number) //Child Child() //Parent Parent_method() //number = 2 Child cls = new Child.. 객체 3대 특징 은닉성 : 접근지정자를 통해서 외부로부터 접근을 차단, 접근 허용을 가능하게 해주는것 private(무조건차단), public(무조건허용) (variable형태) (method형태) 상속성 : 부모클래스에서 기능을 상속한다. variable method 추가로 기능을 확장하는 경우 다형성 : 상속 후에 여러 형태로 자식 클래스가 구현되는 것을 의미한다 (완전히 다른형태로 클래스가 바뀜) super Over Ride(상속받은 재산을 수정해서 확장) - 관리의 목적 constructor 생성자 **constructor : 생성자 == method == 객체를 생성할때 자동으로 호출되는 함수! 규칙 : 1. class명과 같은 method 2. return 값이 없다 3. over load가 가능하다(많이씀) 4. 자동호출된다 (-> 별도의 호출이 불가능하다) 5. 생략이 가능하다 6. 기본값을 설정 할 경우가 많다 7. 초기화는 사용 안하는 편이 좋다 main MyClass cls = new MyClass();//MyClass()가 생성자, 생성시 바로 "MyClass MyClass()" 호출 MyClass cls1 = new MyClass(123); MyClass cls2 = new MyClass(234,"abc"); 규칙의 1, 2, 3, 4가 이미 쓰여짐 Class this();//다른생.. 객체 3대 특징 - 은닉성( 캡슐화 ) 객체 3대 특징 1. 은닉성(캡슐화) :외부와의 차단으로 변수들을 관리 할 수 있다 class의 내부에서 접근(처리)이 가능하도록 접근지정자로 제어할 수 있다 값을 바꾸게 할 수도 접근금지(읽기전용)시킬수도 있음. setter/getter private(개인적인) -> member variable에 설정: class만에서 만 지정되는 속성 public(대중적인) -> member method에서 설정 protected(특정) -> 상속에 관련 class member variable(변수) -> 99% private 메소드 70%정도가 public 2. 상속성 3. 다형성 main MyClass cls = new MyClass(); MyClass = 클래스형 , heap에 저장 cls = instance(.. 객체 // 야구게임 loop()메서드에 finding()메서드와 userInput()메서드를 넣어줌 init()메서드를 생성하여 초기화 해주고 random()메서드도 같이 초기화 해줌 public static void main(String[] args) { // TODO Auto-generated method stub Baseball ball = new Baseball(); ball.init(); ball.loop(); ball.result(); } -------------------------------------------------------------------- public class Baseball { int r_num[]; int u_num[]; boolean clear; public void init() { .. 객체//Sorting public static void main(String[] args) { Sorting sort = new Sorting(); sort.input(); sort.sorting(); sort.result(); } --------------------------------------------------------------------------- public class Sorting { //변수선언 -> 멤버변수(두가지 이상 처리(메소드)에서 접근해야 하는 경우) int number[]; boolean updown; //처리 public void input() { Scanner sc = new Scanner(System.in); System.out.println("정렬 할 갯수 ="); int count .. Object Oriented Programming(객체지향 프로그래밍) 이론 절차지향 : 처리중심 -> 객체지향 : 설계중심 *class MyClass{ //class의 설계 변수(멤버변수) - 접근지정(외부, 내부) 함수(메소드) - 처리 } *클래스명 변수(instance) = new 클래스명(); MyClass cls = new MyClass(); //동적할당 없이 사용 불가 ->stack영역 -> heap영역 기존방식 //TV -> 2대 String name[] = new String[2];//삼성, LG int channel[] = new int[2];//채널 수 boolean power[] = new boolean[2];// on/off //String name[0] = "삼성";//거실 name[1] = "LG";//방 channel[0] = 11; channel[1.. 이전 1 2 다음