6개월 대장정/JAVA 개념 (39) 썸네일형 리스트형 18일차 - 인터페이스(2) 안녕하세요. pitang입니다. 8장 인터페이스 뒷부분을 보도록 하겠습니다. 인터페이스 - 타입 변환 구현 객체가 인터페이스 타입으로 변환되는 것은 자동 타입 변환에 해당한다. 자동 타입 변환은 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말한다. 인터페이스 변수 = 구현 객체; 인터페이스 구현 클래스를 상속해서 자식 클래스를 만들었다면 자식 객체 역시 인터페이스 타입으로 자동 타입 변환시킬 수 있다. ex1) ex2) 강제 타입 변환을 해서 다시 구현 클래스 타입으로 변환한 다음, 구현 클래스의 필드와 메서드를 사용할 수 있다. 구현 클래스 변수 = (구현 클래스) 인터페이스 변수; -> 프로그램 정상 종료 가 출력된다. ex3) instanceof 연산자는 인터페이스 타입에서도 사용할 .. 17일차 - 인터페이스(1) 안녕하세요. pitang입니다. 인터페이스에 대해 모두 알아보겠습니다. 인터페이스 인터페이스는 객체의 사용 방법을 정의한 타입이다. 인터페이스의 선언은 class 키워드 대신 interface 키워드를 사용한다. 클래스에서 인터페이스를 구현하고 싶을 때는 클래스 이름 뒤에 implements 키워드를 사용한다. 인터페이스의 이름은 클래스 이름을 작성하는 방법과 동일하게 카멜 표기법을 사용한다. 클래스처럼 extends 키워드를 사용하여 인터페이스 간의 상속을 구현할 수 있다. 기본적으로 클래스가 아니기 때문에 일반 변수, 일반 메서드를 사용할 수 없다. 쉽게, 인터페이스를 사용하는 이유는 모든 클래스를 정의하지 않고 필요한 클래스만 묶어 구현하게 할 수 있다. 그러므로 다형성을 구현하는 매우 중요한 역할.. 16일차 - 추상클래스, static(정적), final필드 안녕하세요. pitang입니다. 오늘은 추상 클래스와 살짝 접근 제한자로 돌아가서 정적 멤버와 static, 그리고 final 필드까지 살펴보겠습니다. 추상 클래스 객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 한다면 이 클래스들의 공통적인 특성을 추출해 선언한 클래스를 추상 클래스라고 한다. 추상 클래스의 선언은 public abstract class 이름 { //필드, 생성자, 메서드 } 이다. ex1) ex2) 상위 클래스에서 추상 메서드를 가지고 있다면 실체 클래스에서 꼭 추상 메서드를 재정의 해야 한다. 또한, 추상 메서드가 있는 클래스는 반드시 추상 클래스이어야 한다. static 정적 멤버는 클래스에 고정된 멤버로서 인스턴스(객체)를 생성하지 않고 사용할 수 있는 필드와 메서드를 말한.. 15일차 - 상속(타입 변환과 다형성) 안녕하세요. pitang입니다. 타입 변환과 다형성에 대해 알아보겠습니다. 다형성 다형성은 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질을 말한다. 다형성을 위해 자바는 부모 클래스로 타입 변환을 허용한다. 즉, 부모 타입에 모든 자식 객체가 대입될 수 있다. 이것을 이용하면 객체는 부품화가 가능하다. 자동 타입 변환은 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말한다. 예를 들어, 동물(부모) - 고양이(자식)이라고 한다면 고양이는 동물이다. 가 될 수 있다. ex1) Child - method2는 오버 라이딩되었다. ex2) 다형성이란 동일한 타입을 사용하지만 다양한 결과가 나오는 성질을 말한다. 주로 필드의 값을 다양화함으로써 실행 결과가 다르게 나오도록 구현한다... 14일차 - GitHub Desktop, review(각종 사이트) 안녕하세요. pitang입니다. 오늘은 GitHub Desktop 다운로드 및 사용법과 지금까지 review를 해볼게요. 선생님이 바뀌셔서 오늘은 진도를 안 나가고 복습을 했답니다. 그래서 간단 오늘 수업 정리만 하고 내일부터 확실히 정리하도록 하겠습니다. 그럼 시작할게요! GitHub Desktop 👇이 사이트에 들어가서 다운로드 받아주면 된다. https://desktop.github.com 들어가면 자동으로 컴퓨터의 체제대로 다운로드 사이트가 뜰 것이다. 다운로드 후, 응용 프로그램을 실행하면 로그인 창이 뜰 것이다. 로그인을 하면 GitHub Desktop 사용 준비 완료이다. GitHub Desktop에서 간단한 커밋과 크론(?)을 할 수 있다. 깃허브에 대한 지식이 아직 많이 없어서 용어가 맞.. 13일차 - GitHub(2) 안녕하세요. pitang입니다. 깃허브는 주말에 다시 돌아와 맥북에 대한 모든 것을 통달한 뒤 정리해 업로드 하도록 하겠습니다. 13일에는 윈도우에 대한 깃허브를 배웠습니다. 감사합니다. *m1 맥북을 사용 중입니다.* 12일차 - 접근 제한자(은닉), GitHub(1) 안녕하세요. pitang입니다. 오늘은 자바에서 접근 제한자(은닉)를 보겠습니다. 그리고 깃허브를 설치하고 사용하는 방법을 알아보겠습니다. 접근 제한자(은닉) 은닉은 사용자에게 상세한 내부 구현을 숨기고 필요한 부분만 보이게 하는 것이다. 이것을 사용하기 위해서는 클래스의 멤버변수의 접근 제한자를 private로 설정한다. 은닉된 멤버 변수에 접근하기 위해서는 public메서드를 통해 접근할 수 있다. 변수의 값을 변경시키는데 사용되는 setter메서드, 변수의 값을 얻어오는 데 사용하는 getter메서드가 있다. 저번 11일 차에서 보았듯, private 제한자는 외부에 접근이 불가능하다. 저장하는 setter메서드, 값을 조회하는 getter메서드의 사용을 강제화한다. ex1) private제한자를 .. 11일차 - 오버 로딩, this와 super, 접근 제한자(상속) 안녕하세요. pitang입니다. 오버 로딩, this와 super, 접근 제한자 까지 알아보도록 하겠습니당. 오버 로딩 오버 로딩은 메서드 중복이라고 한다. 중복은 메서드 또는 생성자를 선언할 때 이름은 같지만 매개 변수의 유형이나 개수를 다르게 선언해 놓는 것을 의미한다. 중복은 이름이 똑같아야 하고, 변수의 유형, 개수, 순서가 달라야 한다. 반환 유형은 상관이 없다. ex) this this는 자기 자신 객체를 지정할 때 사용하는 키워드이다. this. 을 사용하면 동일 클래스 내의 멤버를 참조할 수 있고 this()를 사용하면 생성자 내부에서 자신의 다른 생성자를 호출할 수 있다. 쉽게 this.으로 나의 멤버 변수의 접근 가능, this()로 나의 생성자의 접근 가능이다. ex) super su.. 이전 1 2 3 4 5 다음