본문 바로가기
정보처리기사 필답 실기. 코딩 문제.

자바 코드 문제

by 귀엽소 2025. 5. 18.
반응형

<<틀리기 쉬운 문제>>

 

클래스 언아더

private int value

public void 값(int value)

this.value=value //10

 

public void 프린트()

system.out.println("값: "+this.value)

 

클래스 메인

메인함수

 

언아더 object=new 언아더()   //객체만들기.

object.value=10  //클래스 메인에서 클래스 언아더의 private int value로 접근하려고함. 하지만. 외부 클래스에서 private에 접근할 수 없는 것이 원칙이다. 여기에서 오류가 발생한다. private 붙으면 클래스 내부에서 접근 가능.

object.값(10)

object.프린트()


 클래스 가방

private string color

private int size

 

가방()

가방(string color)

가방(string color, int size)

 

클래스 메인

메인함수

가방 bag1=new 가방()

가방 bag3=new 가방("파랑", 15)

 

정답:

몰라, 0

파랑, 15


<<틀리기 쉬운 문제>>

 

클래스 에이

에이()

 

클래스 비 상속 에이

비(int a)

 

클래스 씨 상속 비

씨(int a)

 

클래스 테스트

메인함수

에이 b = new 씨(100)  //업캐스팅. 클래스 에이 먼저 태어나기.

 

정답:

10 33 100


<<틀리기 쉬운 문제>>

 

클래스 부모

static void f()   //정적 메소드. 

 

void g()

 

클래스 자식 상속 부모

static void f() //재정의

 

void g()  //재정의

 

클래스 c

메인함수

부모 a = new 자식()  //업캐스팅. 

a.f()  //부모클래스에도 정적메소드가 있고 자식클래스에도 재정의된 정적메소드가 있다. 생성된 객체변수 a는 앞에 적힌 부모 타입을 따라간다. 그래서 자식클래스에서 재정의를 했다고 하더라도 부모 클래스 정적 메소드를 가야함.

a.g()

 

정답:

fpgc


클래스 부모

부모()  //부모생성자

static void f()

void g()

 

클래스 자식 상속 부모

static void f()

void g()

 

클래스 c

메인함수

부모 a = new 자식() //업캐스팅.

a.f()

a.g()

 

정답:

fpfcgc


클래스 c

메인함수

string a = "abcdefg" //길이 7

string b = "1234567" //길이 7

 

string r = cs(a, b)

println(r)

 

public static string cs(string a, string b)  //정적메서드.

stringbuilder c = new stringbuilder()  //문자열 만들기. c 빈공간

 

int maxl = Math. max(a.length(), b.length())  //둘다 길이 같음. 7

 

for문 i=0; i<maxl; i++

if문 i<7 && i%2==0 //짝수.

c.append(a.charAt(i)) //i 번째 인덱스 값을 c 공간에 넣어라. //c.append="a2c4e6g"

 

if문 i<7 && i%2 !=0 //홀수

c.append(b.charAt(i)) 

 

return c.tostring()

 

정답:

a2c4e6g


클래스 부모

public int s(int n)

 

클래스 자식 상속 부모

public int s(int n)  //재정의.

if문 (n<=0)

return 0

if문 n%2 ==0 

return n + s(n-2)

else

return s(n-1)  //재귀함수.

 

n=9
s(8)=20
n=8
8+s(6)=20
n=6
6+s(4)=12
4+s(2)=6
2+s(0)=2

 

클래스 콤바인

메인함수

부모 a = new 자식() //업캐스팅.

int result = a.s(9)  //자식 클래스 함수 호출.

println(result)

 

정답:

20


클래스 메인

메인함수

부모 y = new 자식()  //업캐스팅.

y.method1()

y.method2()

 

클래스 부모

method1()

method2()

 

클래스 자식 상속 부모

method1()  //재정의

method2()  //재정의

 

정답:

X1Y2Y1Y2


클래스 부모

int x = 200

부모() //this (600)

부모(int x) //int x = 600

get()

 

클래스 자식 상속 부모

int x=3000

자식()  //this (7000) 뜻은 자식(7000) 함수 호출.

자식(int x) //this.x=x // 자식클래스의 x는 7천. (3천에서 변화.)

get()  //재정의 //return this.x+super.get() // 7000+600=7600

 

클래스 메인

메인함수

자식 obj = new 자식() //자식() 생성자 고고. 하기전에 부모 클래스 탄생해야함. 부모() 가세요.

println(obj.get())

 

정답:

7600


<<틀리기 쉬운 문제>>

 

클래스 부모

int sum(int n)

if(n<=0)

return 0

else

return n+sum(n-1) //ㅅㅂ~~~ 여기서 바로 부모 sum(int n) 메소드 호출하면 틀리는 거임. 재정의된 자식 클래스 sum(int n) 호출해야함. 염병할...

 

클래스 자식 상속 부모

int sum(int n)) //재정의.

println("Add "+n)

return super.sum(n) //부모 클래스 메소드 호출해.

 

클래스 테스트

메인함수

자식 as = new 자식() //자식끼리 하기 전에 부모 생성하기. 생성자 없으면 말고~

println(as.sum(5)) //함수 호출이 먼저임. 자식클래스 재정의 된 곳으로 감.

5
5+sum(4)=15
4
4+sum(3)=10
3
3+sum(2)=6
2
2+sum(1)=3
1
1+sum(0)=1

정답:

Add 5

Add 4

Add 3

Add 2

Add 1

Add 0

Sum: 15


클래스 부모

int x

부모()

부모(int x)  //int x = 10

display()

show()

 

클래스 자식 상속 부모

int y

자식()

자식(int y)

display()

show()

 

클래스 메인

메인 함수

자식 obj = new 자식() //자식끼리 하기 전에 부모 생성하기 원칙.

obj. display()  //재정의된 자식꺼 메소드 불렁.

obj. show()   //재정의된 자식꺼 메소드 불렁.

 

정답:

부모(int): 10

부모()

자식(int): 20

자식()

자식 display: 20

부모 show: 10

자식 show: 20


클래스 부모

int a

부모()

부모(int a)

com()

pro()

 

클래스 자식 상속 부모

int b

자식()

자식(int b)

com()

pro()

 

클래스 메인

메인함수

자식 obj = new 자식() //자식끼리 하기 전에 부모 생성자 호출 원칙.

obj. com()

obj. pro()

 

정답:

부모(int): 5

부모()

자식(int): 15

자식()

자식 com: 15

부모 pro: 5

자식 pro: 15

 


클래스 메인

메인함수

string str1="Hello"

H e l l o \n
[0] [1] [2] [3] [4] [5]

string str2="World"

 

int lengthstr1=str1.length()  //길이 5

char firstcharstr2= str2. charAt(0) // 해당 인덱스 값을 넣어주기. W

string substr1= str1.substring(1,4) //1부터 4-1까지 문자열 가져와. ell

string upperstr2= str2.touppercase() //대문자로 만들기. WORLD

string replacedstr1= str1.replace('l','p')  //대체하기. l을 p로. Heppo


클래스 S

int p(string s)

int p(string s, char c) //s.indexof(c) 'o'문자는 s1에서 몇 번째 인덱스냐? //4

string p (string s1, string s2) //s1.concat(s2) 합쳐라!콩캣! // Hello, World!Java

string p(string s, char oldchar, char newchar) //s.replace(oldchar, newchar) // Hell0, W0rld!

string p(string s, int start, int end) //s.substring(start, end) // World

 

클래스 헬

메인함수

S sp = new S() //생성자 호출. 없음 말고.

 

string s1="Hello, World!"

H e l l o ,   W o r l d ! \n
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

string s2="Java"

println(sp.p(s1))  //매개변수(파라미터) 하나짜리 함수 호출 //길이 13.

prinln(sp.p(s1, 'o') //"" 이거는 문자열을 나타냄. '' 은 문자를 나타냄.

sp.p(s1,s2)

sp.p(s1, 'o', '0')

sp.p(s1, 7, 12)

 

반응형

댓글