<<틀리기 쉬운 문제>>
클래스 언아더
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)
'정보처리기사 필답 실기. 코딩 문제.' 카테고리의 다른 글
c언어 짚고가기 (0) | 2025.05.19 |
---|---|
파이썬 코드 문제 (0) | 2025.05.19 |
c언어 코드문제 (0) | 2025.05.18 |
정처기 24년 3회 코드 기출문제 (0) | 2025.05.15 |
정처기 24년 2회 코드 기출문제 (0) | 2025.05.13 |
댓글