Programming/JAVA
-
superProgramming/JAVA 2020. 6. 12. 23:38
조상클래스를 상속받은 자손클래스가 멤버 변수와 지역 변수를, 또는 생성자를 구분하기 위해 사용하는 구분자이다. 단, static 메서드는 클래스 메서드로 사용하지 못 하고, 인스턴스 메서드에서는 사용할 수 있다. 상속받은 자손클래스는 조상클래스와 한몸이 되는 것이나 마찬가지, 빙의라고 생각하자. super 의 기본 형태 생성자에서도 가능하다. 이런식으로 생성자도 오버로딩이 가능하다. // 조상 클래스의 위에도 조상이 있다 거슬러 올라가다보면 최상위에 오브젝트 클래스가있는데 거기를 제외한 모든 생성자의 첫줄에는 생성자 this() 또는 super()가 호출되어져야한다. 그렇지않으면 자동적으로 super()을 삽입한다. ㄴ생성자의 기능과 같다.(super() 또한 조상클래스의 초기화를 해주기위한 생성자일 뿐..
-
오버라이딩(overriding)Programming/JAVA 2020. 6. 9. 01:52
오버라이딩, 조상클래스로부터 상속받은 메소드의 내용을 변경하는 것을 오버라이딩이라고 한다. 가끔 현재 클래스에서 상속받고 있는 조상메서드를 현재 클래스에 맞춰서 수정을 해야할 때가 있다. 이 때 우리는 조상클래스를 수정하는 작업을 하는데 이것을 우리는 메서드 오버라이딩이라고 지칭한다. 다음의 소스코드를 잘 봐 보자. class point { int x; int y; String getLocation(){ return "x :" + x + ",y : "+y; } } class point3d extends point{ int z; String getLocation(){ return "x :"+x+",y :"+y+", z :"+z; //오버라이딩 } } 단, 이름과 매개변수 그리고 반환타입이 같아야 한다. ▶..
-
상속(inheritance) - 중간 저장Programming/JAVA 2020. 6. 8. 21:57
상속, 기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것. 상속를 사용하게 되면 적은양의 코드로 공통적으로 관리할 수 있다. (코드의 추가 변경 매우 용이) ex) class brother extends father{ //현재 클래스의 이름은 brother 이고 상속받고자하는 클래스 이름은 father이다. ... } 상속해주는 클래스를 조상클래스, 상속받는 클래스를 자손 클래스라고 한다. 예를 들면 father 클래스에 man 이라는 int형 변수를 가지고 있다. 그런데 내가 brother 클래스에서 이 변수를 다루고 싶을 때 class father{ int man } class brother extends father{...} 이러면 brother 이라는 현재 클래스 안에 father 이라는 클..
-
오버로딩 (overloading)Programming/JAVA 2020. 5. 28. 23:35
오버로딩이란? 한 클래스 내에 같은 이름의 메서드를 여러개 정의하는 것을 메서드 오버로딩이라고 한다 이것을 우리는 오버로딩이라고 부르기로 한다. 즉 하나의 메서드 이름으로 여러기능을 구현하게 만드는 것을 오버로딩이라고 지칭한다. 오버로딩이 성사되기 위해서는 두 가지 조건이 필요하다. 하나, 메서드 이름이 같아야 하며 둘 , 매개변수의 개수 또는 타입이 달라야한다.(이 타입은 리턴 타입이 아닌 매개변수의 타입을 뜻한다.) EX) 이러면 오버로딩이 네개의 메서드가 허용된게 보인다. 오버로딩은 리턴타입만 같아서는 안되며, 이름만 다르게 해서 구분시키려고 해도 안된다. 또 매개변수의 타입이 각기 다를때순서에 제약을 받았다. 어쨌든 어떻게 오버로딩시켜야 되는지 알았으니 오버로딩이 잘 되었는지 보자. 이렇게 직접 ..
-
멤버 변수 (스크랩)Programming/JAVA 2020. 5. 28. 22:38
멤버 변수(member variable)는 메소드 밖에서 선언된 변수를 말한다. 메소드 안에 선언된 변수는 지역(local) 변수라고 한다. 맴버 변수 객체 변수 객체 속성 변수 객체 참조 변수 클래스 변수 종단(final) 변수 멤버 변수의 구성 멤버 변수 선언은 접근 한정자(public, private, protected)를 제외하고는 일반 변수의 구성과 동일하다. [public/private/protected] [static/final] 변수 타입 변수명; 멤버 변수 선언 멤버 변수 선언은 접근 한정자를 제외하고는 일반 변수의 선언과 동일하다. int a; public int b; private MyClass myclass; 선언과 초기화 및 생성을 같이 할 수 있는데 코드로 보면 아래와 같다. p..
-
변수와 메서드Programming/JAVA 2020. 5. 18. 23:25
변수 1)인스턴스 변수 클래스 영역에 선언하면서 인스턴스(객체)를 만들 때 생성 된다. 인스턴스는 독립된 저장공간을 가지므로 서로 다른 값을 가질 수 있으며 객체 마다 고유 상태를 유지해야할 때 인스턴스 변수로 선언한다. 2)클래스 변수 클래스 변수를 선언하는 방법은 인스턴스 변수 앞에 static을 붙이기만 하면 된다. 한 클래스에 모든 인스턴스가 공통값을 유지해야할 때 선언한다. 여기서 전역변수로 만들고 싶으면 public을 붙여주면 프로그램 내에서 어디서든 쓸 수 있는 변수가 된다. 3)지역 변수 for, while 단순 우리가 C에서 했던 문법을 떠올린다. 그냥 단순하게 지역 변수라고 기억하자. 이렇게 단순했었다. card 클래스에 자료형만 붙은 변수는 인스턴스 변수라 칭한다. 그리고 저렇게 st..
-
클래스와 객체Programming/JAVA 2020. 5. 14. 21:27
클래스는 객체를 만들기 위한 용도인 것이고, 객체를 정의해 놓은 것. ex) 나는 노트북(객체)가 필요하다. 하지만 노트북 설계도(클래스)가 필요한 것이 아니다. 그래서 설계도(클래스)를 잘 만 들어 놓으면 노트북(객체)을 만들 때 훨씬 더 수월하게 만들 수 있다. 우리는 그 과정을 인스턴스화라고 한다. 그리고 그 객체를 그 클래스의 인스턴스라고 호칭한다. 사용자정의타입의 기본 인스턴스의 생성 방법 일단 첫번째로 TV t=new TV()로 TV클래스의 참조변수 t를 선언해주어 인스턴스를 생성했다. 두번째로는 멤버 변수들이 (POWER, COLOR, CHANNEL) 초기화 되었을 것이다. 세번째로는 참조변수.멤버변수 형태를 이용해서 참조변수 t에 저장된 주소에 있는 인스턴스의 멤버변수 channel에 7을..