자바 Java(33)
-
다형성(polymorphism),오버라이딩(overriding),오버로딩(overloading)
다형성(polymorphism)이란? 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미합니다. 자바에서는 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있습니다. 다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나입니다. type이 여러개다, 여러개의 타입을 하나의 코드로 처리할수 있다 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 구현한 기능 자식클래스의 객체 내부에는 부모클래스로 만든 객체가 포함되어있기 때문에 부모클래스의 참조변수로 자식클래스의 객체를 참조할 수 있음. 상속받았다면 자기자신의 타입 아니고 부모타입의 객체도 참조할 수 있다. 부모타입 변수명=new 자식타입(); 객체 ..
2020.03.11 -
상속(Inheritance)
상속이란 상속이란 어떤 클래스가 다른 클래스의 멤버 변수와 멤버 함수를 물려받는 것 상속은 원래의 것에 이어 붙이는 개념 상속이라고 생각하지말고 extend! 부모클래스에서 확장된 객체를 갖게 된다고 생각하자. 상속받는 클래스-> 자식 클래스, 하위 클래스 또는 서브 클래스 상속을 해주는 클래스-> 부모 클래스, 상위 클래스 또는 슈퍼 클래스 부모 클래스(parent class) 와 자식 클래스(children class)는 자바 지정예약어 extends에 의하여 정해진다. 하나의 부모 클래스(parent class)는 여러개의 자식 클래스(children)을 가질 수 있다. 반대로 하나의 클래스는 여러개의 클래스로부터 상속을 받을수는 없다. ->즉 단일 상속만 가능 하다. (인스턴스를 사용하여 다중상속..
2020.03.11 -
toString()
모든 클래스의 가장 최상위 클래스는 Object 클래스 이다. 자바에서 제공하는 모든 클래스들은 계층 구조로 되어있고, 그 최상위로 올라가면 Object 라는 클래스가 존재한다. 우리가 일반적으로 생성하는 클래스들도 extends 로 직접 상속하지는 않았지만 자바 컴파일러는 일반 클래스를 Object 하위 클래스로 자동설정하게 되어있다. 결론은 자바 라이브러리나 유저가 만든 모든 클래스는 Object 클래스를 부모클래스로 상속받아서 사용하게 된다. Object 클래스에는 어떤 메소드들이 있을까? toString 메소드란? -객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메소드 이다. java.lang.Object 클래스가 toString 메서드가 제공하지만, 해당 메서드를 호출하면 반환되는 ..
2020.03.10 -
접근제한자[private,public,protected,default],getter, setter
접근 제한자 접근 제한자란, 외부로부터 접근을 제어하는 키워드이다. 접근 제한자의 종류는 4가지로, private/default/protected/public 이 있다. private은 비공개, public은 완전 공개를 의미한다. public 과 private public 키워드는 완전한 공개를 의미한다. 모두가 사용할 수 있는 공공의 산물이 되는 것이다. 이와 반면 private은 비공개를 의미한다. 오직 해당 클래스 내부에서만 사용할 수 있게 된다. 접근 제한자는 필드와 메소드에 적용될 수 있다. public 선언되면 외부의 접근이 가능하나, private의 경우 외부 접근이 불가능하다. 게터와 세터(getter&setter) private 필드는 외부 접근이 불가능하다 게터를 사용하면 privat..
2020.03.10 -
메소드(method)
메소드(method)란 보통 다른 언어엣는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재할수 없기 때문에 자바의 함수는 따로 존재 하지 않고 클래스 내에 존재 한다. 이 클래스 내의 함수를 메소드 라고 한다. 메소드의 구조 public 리턴자료형 메소드명(입력자료형1 입력변수1,입력자료형2 입력변수2,...){ ... return 리턴값; // 리턴 자료형이 void 인 경우에는 return 문이 필요없다 . } 리턴자료형은 메소드 수행 후 돌려줄 값의 자료형을 의미한다. 메소드의 리턴값은 return 이라는 명령을 사용한다. 메소드는 입출력 유무에 따라 다음과 같이 4가지로 분류 할 수 있다. 1) 입력과 출력이 모두 있는 메소드 2) 입력과 출력이 모두 없는 메소드 3) 입력은 없..
2020.03.10 -
객체(object), 클래스(class), 인스턴스(instance)
클래스(Class) 란 객체를 만들어 내기 위한 설계도 혹은 틀 연관되어 있는 변수와 메서드의 집합 객체(Object) 란 소프트웨어 세계에 구현할 대상 클래스에 선언된 모양 그대로 생성된 실체 특징 1) ‘클래스의 인스턴스(instance)’ 라고도 부른다. 2) 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다. 3) oop의 관점에서 클래스의 타입으로 선언되었을 때 ‘객체’라고 부른다. 인스턴스(Instance) 란 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체 즉, 객체를 소프트웨어에 실체화 하면 그것을 ‘인스턴스’라고 부른다. 실체화된 인스턴스는 메모리에 할당된다. 특징 인스턴스는 객체에 포함된다고 볼 수 있다. oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 ‘인스턴..
2020.03.10