목록전체 글 (163)
불로구
자바에는 오버라이딩과 오버로딩이란 것이 존재합니다. 오버라이딩을 배우기 전에 상속의 개념을 알아야 하기 때문에, 먼저 오버로딩에 대해 배워봅시다. 오버로딩 - 오버로딩의 종류로는 생성자 오버로딩과 메소드 오버로딩이 있다. - 생성자 오버로딩이란 다양한 방법으로 객체를 생성할 수 있는 것 - 메소드 오버로딩이란 같은 이름의 메소드를 여러 개 선언하는 것 생성자 오버로딩 생성자 오버로딩은 매개 변수의 타입, 개수, 순서가 다르게 선언하는 것이다. 각각의 생성자 별로 매개변수를 다르게 하여 객체를 생성하였다. 기본 생성자를 통해 생성된 객체는 모든 값이 인스턴스 변수의 초깃값으로 설정되었고 p1, p2, p3는 각각의 생성자에 매개변수에 개수에 맞게 객체를 생성하였다 물론 여기서도 매개변수의 개..
필드란? - 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳이다! 필드 선언 - 타입 필드 [ = 초깃값 ] ; 타입으로는 기본 타입과 참조 타입 모두 올 수 있다. 위처럼 선언을 한다. 필드의 초깃값은 따로 설정하지 않는다면, 디폴트 값으로 초기화된다 그렇다면 이제 필드를 사용해보자! ; } } Tv 클래스의 price 값을 바꿔보겠다. price를 사용하기 위해서는 Tv 객체부터 생성해야 한다! 처음 출력은 price의 초깃값으로 지정된 15000이 출력되었다 두 번째 출력은 Tv 객체를 참조하는 t라는 변수를 통해 price의 값을 30000으로 수정했다! 혹시나 궁금한 점은 댓글로 남겨주세요!
저번 강의에서 생성자 오버 로딩에 배운 것 기억나시죠? 생성자 오버 로딩이 많아질 경우 생성자 간의 중복된 코드가 발생할 수 있어요! 매개변수의 수만 다르게 하고 필드 초기화 내용이 비슷한 생성자에서 이런 현상을 많이 볼 수 있는데요, 이럴 때 쓰는 게 this()입니다. this()는 자신의 다른 생성자를 호출하는 코드로 반드시 생성자 첫 줄만 허용합니다!! } 1번을 보시면, Tv t3 = new Tv("삼성","블랙") 을 통해 매개변수가 2개인 생성자로 값을 넘겨준다! 2번을 보시면, this를 통해 받은 값 2개와 price의 300000을 값으로 매개변수가 3개인 생성자로 넘겨준다! 매개변수가 3개인 생성자를 통해 Tv 클래스의 인스턴스 변수들은 초기화가 된다! 이렇게 기..
생성자란? - New 연산자로 호출되는 중괄호{} 블록 - New 연산자로 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당한다. - 내부에서 선언을 생략하면 기본 생성자가 자동으로 추가된다. 객체 초기화 - 필드를 초기화하거나 메서드를 호출해서 객체를 사용할 준비를 말한다. - new 연산자에 의해 생성자가 성공적으로 실행 시, JVM의 힙 영역에서 객체가 생성되고 번지가 리턴된다 - 리턴된 객체의 번지는 클래스 변수에 저장 이해가 쉽도록 간단한 코드를 적어보았습니다. this에 대해서는 나중에 포스팅하겠습니다. 기본 생성자 - 모든 클래스는 생성자가 반드시 존재한다. 생성자는 여러 개를 가질 수 있다. - 즉, 생성자는 오버 로딩이 가능하다 Tv 클래스에서 생성자를 오버 로딩..