[면접예상] 20230620

neul·2023년 6월 20일
0

면접예상

목록 보기
9/36
post-thumbnail

🌵아래 메모리를 그리시오.

class Circle{
	double radius;

	public double getRadius() {
		return radius;
	}

	public void setRadius(double radius) {
		this.radius = radius;
	}
	
	public double getArea() {
		return radius * radius * Math.PI;
	}	
}
=====
	Circle circle = new Circle();

🌵아래의 메모리를 그리시오.

class Rectangle{
	double x,y;

	Rectangle rec = new Rectangle();
    
	public double getArea() {
		return x * y;
	}	
}

🌵객체와 클래스의 차이는?

객체
: '클래스'라는 틀을 통해 만들어낸 실체
클래스
: 구현하려는 기능을 모아둔 설계도

  • 클래스는 비슷한 종류의 객체의 컬렉션이지만 객체는 클래스의 인스턴트다.
  • 객체는 특정 목적을 위해 프로그램에서 사용되는 물리적 개체이다.
  • 클래스는 데이터와 함수를 바인딩하는데 사용되는 논리적 엔티티로 간주된다.
  • 개체는 새 키워드를 사용하고, 클래스는 class 키워드를 사용하여 선언한다.
  • 프로그램에서 클래스는 객체가 메모리를 할당하는 동안 저장 메모리를 소비하지 않는다.

🌵아래 함수를 만드시오.

double area = getCircleArea(10);
System.out.println(area); //314.0

area = getRectangleArea(10,20);
System.out.println(area); //200.0
		
area = getRectangleArea(40,20);
System.out.println(area); //200.0
		
area = getTriangleArea(40,20);
System.out.println(area); //400.0
		
int code = getAscCode('A');
System.out.println(code); //65
public static void main(String[] args) {
getCircleArea(10);

System.out.println(getRectangleArea(10, 20));

System.out.println(getTriangleArea(40,20));

System.out.println(getAscCode('A'));
}

public static void getCircleArea(double n) {
	final double PI = 3.14;
	return r * r * PI;
}

public static double getRectangleArea(double a, double b) {
	return a * b;
}

public static double getTriangleArea(double a, double b) {
	return (a*b)/2;
}

public static int getAscCode(char ch) {
	return (int)ch;
}

🌵클래스의 구성요소는 무엇인가?

각 클래스마다 존재하는 것
Instance-specific 항목으로 Instance Component(인스턴스)라고 한다. 이것은 클래스를 참고하여 객체를 생성하면 메모리에 생성되는 즉 객체를 생성할 때마다 초기화되는 항목들이다.

인스턴스의 수와 상관없이 전체 클래스에서 오직 하나만 존재하는 것
Non Instance-specific 항목으로 Static Component라고 한다. 이것은 클래스 생성자(CREATE OBJECT 구문)을 만나면 프로그램이 종료될 때까지 메모리에 저장되며 클래스에 의존적인 항목이다.
Static 속성은 CLASS-DATA 구문으로 선언하고, Static 메서드는 CLASS-METHOD 구문으로 선언한다.
Static 속성과 메서드는 클래스의 컴포넌트를 조작하기 위해 선언되는 것이며, 객체를 생성하지 않아도 메모리에 로드되어 바로 사용할 수 있다.

🌵객체란 무엇인가?

클래스의 객체를 생성하면, 객체의 멤버 변수들은 개별적으로 메모리에 생성된다.
그러나, 클래스의 멤버 함수는 객체의 개수에 관계 없이 단 하나만 생성된다.
멤버 함수를 호출할 때마다 내부적으로 멤버 함수를 호출하는 객체의 주소값을 넘겨 사용하기 때문에 멤버 함수는 어떤 객체의 멤버 변수를 변경해야할 지 알 수 있다.
그래서 클래스의 멤버 함수는 객체의 개수에 상관 없이 단 하나만 생성된다.

🌵아래의 클래스를 작성하시오.

StraPrint strPrint = new StarPrint();
 
strPrint.printTriangle(3);
System.out.println();
strPrint.printReverseTriangle(3);
===============================
*
**
***
 
***
**
*
class StarPrint {

void printTriangle(int num) {

	 for (int i = 1; i <= num; i++) {
	 for (int j = 1; j <= i; j++) {
	      System.out.print("*");
	      }
	      System.out.println();
	 }

	}

void printReverseTriangle(int num) {

	 for (int i = 1; i <= num; i++) {
	 for (int j = i; j <= num; j++) {
	     System.out.print("*");
	    }
	    System.out.println();
	      }
	   }
	}
public static void main(String[] args) {
		StarPrint strPrint = new StarPrint();
		
		strPrint.printTriangle(3);
		System.out.println();
		strPrint.printReverseTriangle(3);
}

🌵아래의 프로그래밍을 작성하시오.

Gugudan gugudan = new Gugudan();
gugudan.printGugu(10); //1단부터 10단까지 출력
gugudan.printGugu(20); //1단부터 20단까지 출력
class Gugudan {
	
	void printGugu(int num){
		for(int i = 1; i <= num; i++) { 
			for(int j = 1; j <= num; j++) 
				System.out.println(i + " * " + j + " = " + ( i * j));
			}
	}
}
public static void main(String[] args) {
		Gugudan gugudan = new Gugudan();
		gugudan.printGugu(10);
		gugudan.printGugu(20);
        }

🌵아래 클래스를 작성하시오.

  • 클래스 Grade
  • 데이타멤버 : 국어, 영어,수학,총점,평균
  • 함수 : setGrade(......) //국어영어수학 세팅
  • getAvg() // 평균
  • getGrade() //평균에 따른 수우미양가
class Grade {
	int kor, eng, math;
	double avg;
	char grade;
	
	public void setGrade (int kor, int eng, int math) {
		this.kor=kor;
		this.eng=eng;
		this.math=math;
	}
	
	public double getAvg() {
		final double TOTAL = (kor + eng + math);
		avg = TOTAL/3.0;
		return avg;
	}
	
	public void getGrade() {
		if (avg >= 90)
			System.out.println("수");
		else if (avg >= 80)
			System.out.println("우");
		else if (avg >= 70)
			System.out.println("미");
		else if (avg >= 60)
			System.out.println("양");
		else
			System.out.println("가");
	
	}
	
	
}
public static void main(String[] args) {
		Grade grade= new Grade();
		
		grade.setGrade(80, 80, 90);
		System.out.println(grade.kor + ", " +grade.eng + ", " + grade.math);
		System.out.println(grade.getAvg());
		grade.getGrade();
 }

🌵아래의 클래스를 작성하시오.

		GetSum getsum = new GetSum(); // 1)객체 생성
		int num; // 2)num 변수 선언

		num = 100;

		getsum.setNum(num); // 3)getsum 객체의 setNum함수 호출, num값 50 저장

		num = getsum.sum(); // 4)getsum객체의 sum함수 호출, 1-50까지 합 구함
		System.out.println(num);

		getsum.setNum(1000);
		num = getsum.sum(); // 4)getsum객체의 sum함수 호출, 1-50까지 합 구함
		System.out.println(num);
class GetSum {
	int num;
	
	public void setNum(int num) {
		this.num = num;
	}

	public int getNum(int num) {
		return num;
	}
	
	int sum() {
		int sum=0;
		for(int i = 1; i <=num; i++) {
			sum = sum + i;
		}
		return sum;
	}
}
public static void main(String[] args) {
GetSum getsum = new GetSum(); // 객체생성
		
	num = 100;
	getsum.setNum(num); // getsum 객체의 setNum함수 호출, num값 50 저장
	num = getsum.sum(); // getsum객체의 sum함수 호출, 1-50까지 합 구함
	System.out.println(num);
    }
profile
🍙

0개의 댓글

관련 채용 정보