728x90 반응형 IT68 [Do it! 자바 프로그래밍 입문] 09 추상 클래스 추상 클래스 활용하기 추상 클래스와 템플릿 메서드 활용 추상 클래스 활용하기 추상 클래스(abstract class)란? 추상 메서드를 포함한 클래스 추상 메서드는 구현 코드 없이 메서드의 선언만 있음 abstract int add(int x, inx y); // 선언만 있는 추상 메서드 int add(int x, int y) {} // {} 부분이 구현 내용임, 추상 메서드 아님 abstract 예약어 사용 추상 클래스는 new(인스턴스화)를 사용할 수 없음 추상 클래스의 사용 추상 클래스는 상속을 위한 클래스 추상 메서드 하위 클래스가 구현해야 할 메서드 각 하위 클래스마다 다르게 구현되어야 하는 기능 구현된 메서드 하위 클래스가 공통으로 사용할 수 있는 기능 구현 경우에 따라서는 하위 클래스가 재정.. 2022. 5. 31. [Do it! 자바 프로그래밍 입문] 08 상속과 다형성 상속과 다형성 오버 라이딩과 다형성 다형성 활용과 다운 캐스팅 상속과 다형성 상속이란? 클래스를 정의할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능이 확장되는 클래스를 구현하는 것 상위 클래스는 하위 클래스보다 일반적인 의미를 가짐 하위 클래스는 상위 클래스보다 구체적인 의미를 가짐 상속하는 클래스 상위 클래스, parent class, base class, super class 상속받는 클래스 하위 클래스, child class, derived class, subclass // 클래스 상속 문법 class Mammal{ } class Human extends Mamml{ } /* extends 뒤에는 단 하나의 class만 사용할 수 있음 Java는 single inher.. 2022. 5. 31. [Java 개발자가 되기 위한 첫걸음 2] 04 캡슐화와 정보 은닉 접근 제한자 클래스의 상호작용 Singleton Pattern 접근 제한자 접근 제한자를 활용하여 클래스의 변수와 메소드를 보호 접근 제한자 접근 범위 public 외부 클래스 어디서나 protected 상속 관계의 클래스(부모 / 자식 관계) private 같은 클래스 내부 (default) 같은 패키지 내부 캡슐화 사용자에게 필요한 부분만 공개하는 것 private은 클래스 밖에서의 접근을 막는다. class Student { private int number; int score; String name; } Student s = new Student(); s.number = 1001; // Error, private 변수는 접근 불가 s.score = 99; // 99 s.name = "Java"; .. 2022. 5. 28. [Java 개발자가 되기 위한 첫걸음 2] 03 객체를 만드는 생성자 생성자 생성자 오버로드 static 변수 static 메소드 변수 유효 범위 생성자 인스턴스를 생성할 때 new와 함께 사용 생성자 이름은 클래스와 이름과 동일 Student s1 = new Student(); // 생성자 생성자는 멤버 변수, 메소드와 마찬가지로 클래스에서 정의 class Student{ int number; int score; String name; public Student(){} // 생성자 void studey(){ System.out.println("Studying"); } } 생성자를 선언하지 않아도 자동으로 만들어진다. class Student{ int number; int score; String name; //public Student(){} 기본 생성자 void stu.. 2022. 5. 28. [Java 개발자가 되기 위한 첫걸음 2] 02 객체지향 프로그래밍과 클래스 클래스 클래스와 인스턴스 객체지향 프로그래밍 클래스 클래스는 멤버 변수, 메소드로 구성된다. 원하는 속성과 기능을 넣어 클래스를 설계할 수 있다. 클래스는 코드로 만드는 설계도 설계는 문제 상황(요구 상황, Requirements)을 잘 반영해야 한다. // 학생 클래스 예제 class Student{ int number; // 학번 int score; // 시험점수 String name; // 학생이름 void study(){ System.out.println("Studying"); // 공부하기 } } // SNS 게시물을 표현하는 클래스의 속성과 기능 class Post{ String author; // 작성자 String[] comments; // 댓글 int likes; // "좋아요" 수 St.. 2022. 5. 27. [Java 개발자가 되기 위한 첫걸음 2] 01 메소드 메소드 기본 메소드 호출하기 클래스 소개 메소드 메소드란? 특정 기능을 하는 함수(입력과 출력) public class Example { public static void main(String[] args) { } } 메소드의 입출력 입력 값 : 매개변수(여러 개 가능) 출력 값 : 반환 값 public static int getSquare(int x) { // int 반환형, getSquare 메소드명, (int x) 매개변수 return x * x; // 반환값 } 메소드 호출 public class Square { public static int getSquare(int x) { return x * x; } public static void main(String[] args) { int value .. 2022. 5. 27. 이전 1 ··· 6 7 8 9 10 11 12 다음 728x90 반응형