본문 바로가기

▶Programming/Java

super super 는 상속때문에 생기게된 키워드. super() 는 부모클래스의 생성자 호출을 의미한다. 예를들어 Main에서 new Dog()를 실행하면 1번 화살표를 따라 갈 것이다. 그러면 Dog class를 생성할 때 new Dog()에서 ()에 아무 파라미터도 없으므로 2번 화살표와 같이 이동한다. 만약()에 Dog b처럼 있었다면 2번 화살표 아래 보이는 public Dog(String name, int age){ ...} 로 이동했을 것이다. 아무튼, 생성자를 보니까 super라는 녀석이 보인다. super는 부모클래스를 생성하고 초기화 하는 역할을 한다. 왜 부모 클래스를 생성할까? extends .. 즉 상속을 하기위해선 먼저 부모클래스를 만들어야하기 때문이다. 부모 없이는 자식도 없으니깐. 아.. 더보기
각종 용어 정리 더보기
배열과 객체생성 class Person{String name;int age;Person(){}//생성자void getName(){....}} Person p2=new Person(); //객체생성 여기서 p2는 객체를 가리킬 수 있는 포인터가 됨. 이녀석을 자바에선 레퍼런스라고 부름. Person p2[]=new Person[10 ]; //배열생성 이제 조금 더 헷갈리는걸로 가보자... 만약에 아래와 같은 자바 코드가 있다면 그림이 어떻게 될까? for(int i=0;i 더보기
11일 ①손코딩이 최고다!②어떤걸 연습하더라도 주석을 반드시 달자!** 생성자가 있는 클래스 상속하기 **super(생성자에 넘겨지는 파라미터들 쓰기); ** 오버라이딩이라는게 있음 ** 바로 클래스랑 똑같은 녀석인데 몇가지 그 안에 있는 메소드나 필드같은것들이 살짝 살짝 다른것들임그중에 메소드 오버라이딩은 똑같은 이름의 메소드를 자식클래스에서 다른형태로 만들어주면 된다. 그러면 끝난다. 아래 사진으로 설명을 생략한다. 이렇게 같은 withdraw 메소드인데 다른 내용을 넣으면 오버라이딩이 자동적으로 된다. ** abstract (추상화)의 개념 **예를들어 객체1과 객체2를 전혀 다른 상황에 쓰려고 만들었는데 알고보니까 둘이 비슷하다. 그리고 나중에 분명히 비슷한 객체를 만들것 같다는 생각이든다. 그때 이 두.. 더보기
10일차 ①손코딩이 최고다!②어떤걸 연습하더라도 주석을 반드시 달자!** 상속 **기존의 객체와 유사한 객체를 만들 경우 사용한다.조금더 쉽게 이해하기위해 예를들자면 기존의 짜여진 틀에 기능 몇가지를 추가하는 개념이라고 보면 될것 같다. 더보기
9일차 ①손코딩이 최고다!②어떤걸 연습하더라도 주석을 반드시 달자!** 클래스 내부에서의 메소드 호출 ** ** 익셉션(예외)을 처리하는 방법 **try와 catch를 사용한다! 에러가 날것 같은 메소드를 try로 감싸고 에러가 나면 어떤 메세지를 띄울것인가를 catch를 통해 만들어내면 된다. ** 인위적으로 익셉션을 발생시키자! **why? 필요하니까! 다시 말하자면 쓸 일이 있으니까 쓰게 된다. 아래와 같은 내용에 적절하게 사용할 수 있다. throw new Exception(파라미터) 더보기
8일차 ** 생성자 구분법 **파라미터 변수의 수, 타입, 순서 를 고려함. 이름은 고려하지 않음. 따라서 같은 개수에 같은 형식을 취한다면 같은 생성자로 인식해서 에러가 남. ** default constructor **파라미터값이 없는 변수를 생성할 수 있음 이때 이용되는 것이 default constructor (디폴트 생성자) SubscriberInfo() { } 참조할 클래스이름 쓰고 파라미터가 들어갈 소괄호 비워두고 뒤에 중괄호 하면 디폴트생성자 만듬..근데 정확히 디폴트생성자는 생성자가 하나라도 있으면 만들 수 없다. 따라서 위에 쓴 파라미터를 안쓴 명령어는 완벽한 디폴트 생성자는 아닌셈이다.디폴트 생성자는 자바에서 알아서 생성해준다. 즉 no arg constructor는 사용자가 임의로 추가했으.. 더보기
7일차 ①손코딩이 최고다!②어떤걸 연습하더라도 주석을 반드시 달자!객체와 클래스를 이해하기 위해 SQL용어를 쓴것 뿐 두개가 같은 건 아니니 오해하지마시길..객체(object) = 독립된 하나의 entity(SQL용어로)객체의 행동은 외부 세계와 상호작용을 위해 하는 것이다. = relation(SQL용어로)object의 묶음 = class = entity set(SQL용어로)다만, class는 entity들의 공통된 속성의 묶음 이라는 사실을 잊지말자.한마디로 class는 table이고 object는 attribute에 저장되어 있는 릴레이션 인스턴스의 느낌이다. 은행계좌 클래스계좌번호예금주 이름잔액예금한다인출한다 이것이 바로 클래스를 이용하여 객체를 생성하는 법이다.이제 클래스를 선언해보자! ** 필드: 클.. 더보기
6일차 ①손코딩이 최고다!②어떤걸 연습하더라도 주석을 반드시 달자! 프로그래밍 연습! 프로그래밍은 눈높이 수학이다! 항상 매번 매시간 연습! 연습! 연습!객체와 클래스 들어가기전에 지금까지 배웠던걸 한번 복습차원엔서 연습해 보았다. 더보기
5일차 ①손코딩이 최고다!②어떤걸 연습하더라도 주석을 반드시 달자! 1 + 2 = 3 >>>이러한 식이 바로 expression정해진 규칙에 따라 데이터를 처리하여 결과를 산출하는 것을 연산(operation)이라고 한다.+ 와 = 은 연산자(operator) 1 과 2는 피연산자(operand) 3은 연산결과 **문자열 연결 연산자 + ** str1에서 처음에 문자가 오고 그다음을 + 로 연결할 경우 자바에서는 무조건 다 문자로 인식하게 된다. 즉 num=34가 출력되는 것이다. str2에서 처음에 숫자가 올 경우 그 다음에 + 가 오고 또 숫자가 올 경우 이를 덧셈연산으로 자바는 인식하여 7이라는 결과를 내고 +"num"을 수행하게 된다. ++num이나 num++ 같은 결과가 나온다. 즉 변수가 하나일땐 결.. 더보기