• 티스토리 홈
  • 프로필사진
    tjdudtn
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
tjdudtn
  • 프로필사진
    tjdudtn
    • 분류 전체보기 (299)
      • JAVA (155)
        • JAVA 수업 메모 (0)
        • JAVA 수업 파일 (0)
        • JAVA 기초문법 (18)
        • JAVA 객체지향 핵심 (25)
        • JAVA 유용한 클래스 (33)
        • JAVA Swing (18)
      • Data Structure( 자료구조 ) (17)
        • 컬렉션 프레임워크 (4)
        • JDBC (8)
      • 기초 개념 및 환경 설정 (17)
        • HTTP 기초 지식 (사전기반지식) (13)
        • 웹 서버와 웹 애플리케이션 서버(WAS)란? (1)
        • WAS와 웹 컨테이너의 역할 (1)
        • 아파치 톰캣 설치하기 (1)
        • 아파치 톰캣 시작과 폴더 구조 확인 (1)
      • 서블릿 기본 개념과 활용 (8)
        • 서블릿이란? (1)
        • 서블릿 Life Cycle 이란? (1)
        • 서블릿 작성, 배포, web.xml 설정의 이해 (1)
        • Get, Post 요청 방식의 이해 (1)
        • 서블릿과 서블릿 컨텍스트란? (1)
        • 서블릿과 데이터베이스 연동 (1)
        • 잠깐! server.xml과 context.xml.. (1)
        • 서블릿 필터와 리스너란 뭘까? (1)
      • JSP 기본 문법과 구조 (9)
        • JSP(Java Server Pages) 란? (1)
        • JSP 라이프사이클 (1)
        • JSP 기초문법 (1)
        • JSP 주석과 지시자 (1)
        • JSP 기본 태그 ( 스크립트릿, 선언, 표현식 .. (1)
        • JSP 지시자 ( Directive ) 간단 정리 (1)
        • JSP 내장 객체란 뭘까? (1)
        • 폼 처리와 요청 방식 (1)
        • 쿠키와 세션 관리 (1)
      • 서블릿과 JSP의 연동 (7)
        • 서블릿과 JSP의 개념과 차이점 (1)
        • 간단한 게시판 만들어 보기 (1)
        • JSP와 MVC 패턴 Todo 프로젝트 (1)
        • 커스텀 태그 ( JSTL ) 라이브러리 사용, (.. (1)
        • JSTL을 활용한 게시판 기능 만들기 (1)
        • JSP 파일 업로드 (1)
        • JSP 프로그래밍 활용 (1)
      • JavaScript (24)
        • JavaScript 게시판 만들기 (9)
      • Spring Boot (34)
        • Bank App 만들기 (deployment) (31)
      • Flutter (8)
      • MySQL (20)
      • 기술 면접 준비 자료 (0)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 추상 클래스(abstract class)
        2024년 09월 14일
        • tjdudtn
        • 작성자
        • 2024.09.14.:40
        💡 학습 목표
        추상 클래스란 뭘까?추상 클래스 구현해 보기

        1. 추상 클래스란 뭘까?

        추상 클래스(Abstract Class)는 하나 이상의 추상 메서드를 포함하고 있는 클래스입니다. 추상 메서드는 구현이 없는(메서드 몸체가 없는) 메서드이며, 추상 클래스 내에서는 이러한 추상 메서드의 정의만을 포함하고 있습니다.

        추상 클래스는 직접적으로 객체를 생성할 수 없으며, 다른 클래스에서 상속받아 구현되어야 합니다.

         

        추상 메서드란?

         int add(int x, int y); // 선언 
        
         int add(int x, int y){ } // 구현부가 있음, 추상 메서드 아님
        

        시나리오 코드 1

        package basic.ch21;
        
        /**
         * 추상 클래스란? 
         * 추상 메서드를 포함하고 있거나 
         * abstract 키워드를 가지고 있는 클래스를 말한다. 
         * 추상 클래스는 바로 new 키워드로 객체를 생성할 수 없다.  
         */
        public abstract class Animal {
        	
        	String name; 
        	public void move() {
        		System.out.println("동물이 이동을 합니다.");
        	}
        	// 하나 이상의 추상 메서드가 있다면 ... 
        	// 추상 메서드 -> 메서드의 선언부만 존재 + abstract
        	public abstract void hunt();
        	// 추상 메서를 포함 하는 클래스는 반드시 추상 클래스가 
        	// 되어야 한다.
        	
        	// 코드 테스트 
        	public static void main(String[] args) {
        		
        		Animal animal; // 데이터 타입으로 선언 가능 
        		// 추상 클래스는 기본적으로 new 할 수 없다. 
        		animal = new Animal();   
        		
        		
        	} // end of main 
        }
        
        
        package basic.ch21;
        
        // 추상 클래스를 상속한 경우 
        // 2가지 해결 방법 
        // 1. 자식클래스를 추상 클래스로 만들어 버린다. 
        // 2. 추상 메서드를 오버라이드 해서 구현 메서드로 재정의 한다.
        public abstract class Human extends Animal {
        
        	@Override
        	public void move() {
        		System.out.println("사람이 움직입니다");
        	}
        }
        
        package basic.ch21;
        
        public class Tiger extends Animal {
        
        	// 재정의 - 구현 메서드 
        	@Override 
        	public void hunt() {
        		System.out.println("호랑이가 앞발로 사냥을 합니다.");
        	}
        	
        	@Override
        	public void move() {
        		System.out.println("살금 살금 이동합니다.");
        	}
        }
        
        package basic.ch21;
        
        public class Person extends Human {
        	@Override
        	public void hunt() {
        		System.out.println("사람이 권총으로 사냥을 합니다");
        	}
        }
        

        2. 추상 클래스 구현해 보기

         

        'JAVA > JAVA 객체지향 핵심' 카테고리의 다른 글

        인터페이스에 대한 고찰  (0) 2024.09.14
        중요한! 인터페이스(interface)  (0) 2024.09.14
        다형성(Polymorphism)의 활용  (0) 2024.09.14
        다형성(Polymorphism)  (0) 2024.09.14
        연관, 의존 관계란?  (0) 2024.09.14
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바