본문 바로가기

프디아 백엔드

Ch 5 ~ 6. 자바 기초 (Feat: 오버로딩을 해야하는 이유)

  • 자바 기초
  • ch5. 클래스 구성 요소
  • ch6. 다형성

 

5. 클래스 구성 요소

    - 필드

      하나의 클래스에 필드 무제한, 객체가 가져야할 데이터, 상태를 저장

       객체명.필드명

Person.name

 

    - 메소드

       접근 제어자 반환타입 메소드명 (자료형 변수명){

            //코드

       }

     

static class Store{
        Person person;
        Phone phone;
				
        Store(Person person, Phone phone){
            this.person = person;
            this.phone = phone;
        }
        
				//메소드
        void sellPhone(){
            System.out.println(person.name+"님, 이 핸드폰의 가격은"+phone.price+"원입니다");
        }

    }

   

- 생성자

객체를 생성하면서 객체 변수를 초기화하는 역할을 하는 메소드

  • 생성자 선언 이유:  인스턴스(객체) 멤버의 데이터 초기화 가능
  • 인스턴스와 객체 차이 클래스의 타입으로 선언되었을 때 객체라고 부르고, 그 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라고 부른다. =>  인스턴스가 모여 객체를 이룸
  • 오버로딩 vs 오버라이딩
    • 오버라이딩 : 자식클래스가 부모클래스의 메서드를 상속 받아도 다른 기능을 사용하고자 하는 경우
    • 오버로딩 : 동일한 기능을 하는 메서드를 하나의 이름으로 처리 (파라미터의 개수 차이 등)
Store store = new Store(son, samsung); //생성자 초기화

static class Store{
        Person person;
        Phone phone;
		
        //생성자 
        Store(Person person, Phone phone){
            this.person = person;
            this.phone = phone;
        }
        
				//메소드
        void sellPhone(){
            System.out.println(person.name+"님, 이 핸드폰의 가격은"+phone.price+"원입니다");
        }

    }

 

 

6.다형성

  • ❓ 다형성
    • 객체 지향 프로그래밍의 대표적인 특징 중 하나
    • 상속
    • 메소드 오버라이딩
    • 클래스 타입 변환
    • 하나의 타입으로 다양한 객체를 사용할 수 있는 것